XML - a new standard of data transfer





Canada Revenue Agency Tax File Changes

In 2003, the Canada Revenue Agency (then known as the Canada Customs and Revenue Agency), sent notice that files submitted from payroll and tax related systems would need to be changed. In the past, information sent to CRA (called Transmitter Files) was sent as simple text. These Transmitter Files often contained many formatting errors, which in turn caused processing delays both for CRA and for the sender, since the errors could not be detected until the file was checked by CRA.

CRA adopted a new standard called XML (see below for more detail of this technology) for all Transmitter Files. By 2005 all currently accepted forms of data submissions will be phased out. These changes are a result of a complete redesign of their Magnetic Media Filling System.

Payment Production System - T4A/NR4 Module

During 2003, the CRA requirements were reviewed and the necessary changes were implemented within the ESTI T4A/NR4 module. Almost all of ESTI's clients that use this tool, either as part of the Payment Production System or as a standalone module, chose to remit their Transmitter Files for 2003 in the new format.

Throughout 2004, additional sites will be adopting this new module as well, replacing various other programs in preparation for the 2005 CRA deadline. Congratulations to our clients who worked with ESTI to facilitate a seamless rollover and to the ESTI development team who implemented the technology a year ahead of the required due date.

ESTI Development Team

  • Heinrich Putter - Analysis, Design and Test lead
  • Kenton Andres - Senior Resource
  • Ryan Gerstmar - Senior Resource

Why XML? Everything you ever wanted to know:

Extensible Markup Language (XML) is based on the same parent technology as HTML and was originally designed to deal with some of HTML's shortcomings, such as the ability to better manage information found on the Internet. The biggest difference between the HTML and XML is that XML is not just a language used to create web pages, but it is a Meta language (a language that can be used in creating other languages). As a Meta language, it has no set of predetermined tags; XML tags can be anything and can thus be customized to the particular industry you are working in. The XML format is commonly used to send documents since the created markup language can be used to format the documents.

XML documents can be 'well-formed' and/or 'valid'. A 'valid' XML document is also 'well-formed', but a 'well-formed' XML document is not always 'valid'. An XML document is validated with a Document Type Definition (DTD) or an XML Schema. The XML Schema and DTD are very similar, with the XML Schema being the newer system and designed by the World Wide Web Consortium (WC3) organization. The WC3 has developed the XML 1.0 specification which covers XML and which has been adopted by all major vendors, including Oracle.

An XML Schema describes the custom markup language created with XML and it specifies which tags you can use in your documents, the tags themselves and the attributes those tags contain. This means it can specify which tags are required, optional or required in certain cases, and that a specific tag should contain 4 digits and 2 characters separated by a comma instead of just a character. XML schemas are similar to database style applications, where elemental data requires validation.

By using XML, CRA was thus able to create a custom markup language and describe it in an XML Schema. The XML Schema is used to insure the data CRA receives is very close to what they expect to receive. How close depends on how strictly the XML Schema describes the XML document. Any changes made by the CRA will be made to the XML Schema and as such will filter through to clients as soon as they download the latest version. Previously valid XML documents may be invalid when validated against the latest XML Schema.

In most cases the new Transmitter programs function in the same way as the previous versions. When the Transmitter programs are run, it will produce an XML document. The XML document should then be validated using the latest version of the XML Schema which can be downloaded from the CRA website. If the XML Document is valid it may be sent to the CCRA. If it is not valid the XML document can be opened and corrected before performing the validation again.