CBFSAI November 2009 _______________________________________________________________________________ REPORTING FVC RETURNS TO THE CENTRAL BANK IN XML Explanatory information on how to report FVC returns to the Central Bank by uploading files (in XML format) to the Online Reporting system. ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 1 of 13 CBFSAI November 2009 _______________________________________________________________________________ TABLE OF CONTENTS 1 XML FILES FOR FILE UPLOAD TO THE CENTRAL BANK .............................................. 3 1.1 WHAT IS TO BE REPORTED?......................................................................................................... 3 1.2 LOADING A FILE .......................................................................................................................... 4 1.3 FILE AND DATA VALIDATION........................................................................................................ 5 1.3.1 File name validation ....................................................................................................... 5 1.3.2 Schema validation .......................................................................................................... 6 1.3.3 On-Form Validation Rules.............................................................................................. 6 1.3.4 Cross-Form Validation Rules ......................................................................................... 7 1.4.1 Status of Data ................................................................................................................. 7 1.4.2 Entering Data .................................................................................................................. 8 1.4.3 Revising Data .................................................................................................................. 9 1.5 STRUCTURE OF FVC XML INSTANCE DOCUMENTS ........................................................................ 9 1.5.1 Encoding ........................................................................................................................ 10 1.5.2 Root Element ................................................................................................................. 10 1.5.3 Template Element ........................................................................................................ 10 1.5.4 Row Element ................................................................................................................. 10 1.5.5 Column Element............................................................................................................ 11 2 EXAMPLE: SAMPLE XML INSTANCE FILE ....................................................................... 13 3 ADDENDUM ............................................................................................................................... 13 3.1 FVC RETURNS .......................................................................................................................... 13 3.1.1 FVC Quarterly Return templates ................................................................................ 13 ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 2 of 13 CBFSAI November 2009 _______________________________________________________________________________ 1 XML files for File Upload to the Central Bank The Central Bank will provide a file upload facility for FVC returns on the Online Reporting website. The file format will be XML. All files containing FVC returns must be generated in accordance with the rules specified in the appropriate schema(s). 1.1 What is to be reported? Financial Vehicle Corporations resident in Ireland must complete a quarterly return. The full reporting requirement for FVCs consists of 6 templates. FVCs with a derogation due to size have a reduced reporting requirement, which consists of 2 templates. The templates included in each return are listed in Section 3.1 of this document. Each template will only be reported once. Each template is made up of a number of rows and columns. All templates have a fixed predefined number of columns. Most templates have a fixed predefined number of rows. Where there is predefined number of rows and columns, each item within a template can be identified by a combination of row number and column number. The ISIN Code templates do not have a fixed predefined number of rows. In these cases the rows are identified by the ISIN Code entered in the first column by the reporting firm. The ISIN Code column is then treated as an attribute of each row, and the remaining columns are treated as normal columns. In the case of these templates the earlier version of the return will always be completely overwritten where that table’s tag is supplied, regardless of the setting of fileUpload attribute. Duplicate ISIN Codes can be reported on the ISIN tables. Reporting firms have two options for uploading files: Upload one file containing the Complete return Files containing the complete return should have the fileUpload attribute on the return set to “Complete”. 1. If a return is being reported for the first time firms should create a file that contains all the data they wish to report for a particular return. 2. If a revised version of a return is submitted before the return is signed off, and the fileUpload attribute is set to “Complete”, the earlier version of the return will be completely overwritten. This means that any previously uploaded data will be deleted and everything reported in the revised file will be uploaded in its place. Upload one file containing an Update to particular parts of a return ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 3 of 13 CBFSAI November 2009 _______________________________________________________________________________ Revisions can also be made by submitting the specific items to be revised in a file. In this case the fileUpload attribute should be set to “Update”. 1. New items, not contained in the previously submitted version of the return, will be added to the return. 2. Updated items, contained in the previously submitted version of the return, will be overwritten by the values contained in the update file. 3. An empty column tag in the XML file will result in the previously reported value being deleted for that row and column, if one existed. 4. A column tag with a value entered will result in the previously reported value being replaced, if one existed. 5. As stated above, the earlier version of the return data will always be completely overwritten in the case of templates containing ISIN Codes (Table 3a and Table 4) if the table tag is supplied. 6. In the case of templates containing ISIN Codes: a. If the table tag is supplied (with or without rows and columns in it) the previous set of reported data is erased. b. If the table tag is empty, no new data is stored. c. If the table tag has only empty row tags, no new data is stored. d. If the table tag has row tags with empty column tags, the ISIN codes are stored with no values for any of the columns e. If a table tag has row tags with column tags with values in them these new values are stored on the database. A file cannot be uploaded for either a complete or updated return if the status of the return has been set to “Signed Off”. (See section 1.4.1) 1.2 Loading a file Files can be uploaded from the relevant Return Type data page on the Online Reporting system. The user will be asked to browse to the file for upload on their local system. Once the file for upload is selected, clicking on the “Load File” button will upload the file. Files that are uploaded will be added to a queue and processed as soon as possible, but the length of time this takes will depend on the system’s activity at that time. Once a file has been processed, the system will send an email notification to the email address specified in the user’s profile, informing them that the file has been processed. For security reasons, the email notification will not include any further details. If the user has logged out of the system, they or another authorised user from the firm must log in to the system to view further details of the status and any errors that may have occurred. The status of uploaded files can be viewed on the system’s File Load History page at any time, and could be: ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 4 of 13 CBFSAI November 2009 _______________________________________________________________________________ 1. Queued – the file is in a queue awaiting processing 2. Processing – the file is currently being processed 3. Complete – the file has been processed and was: a. Rejected – the entire file was rejected because: The file name did not follow the naming convention The file did not contain valid XML according to the relevant schema b. Loaded with errors – the file was valid, but the content failed to satisfy the on-form validation rules that are not enforced by the schema. c. Loaded successfully – the file was loaded successfully When a return has been successfully loaded to the system, it must be finalised and signed off before it is submitted to the Central Bank. 1.3 File and Data Validation Validation is applied at a number of different points in a file upload. 1.3.1 File name validation XML files for FVCs must adhere to the following naming convention: Cnnnnn_Cnnnnn_QnCCYY_QUARTERLY.XML The first Cnnnnn represents the reporting institution used to submit returns for the FVC. This will be allocated to each reporting institution before they use the system for the first time. The second Cnnnnn represents the FVC Institution Code of the FVC being reported. QnCCYY represents the reporting period in the format Q (quarter) N (1, 2, 3 or 4) CCYY (year). Sample file name: C12345_C54321_Q42009_QUARTERLY.XML The following naming convention will be accepted for zipped archives: ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 5 of 13 CBFSAI November 2009 _______________________________________________________________________________ Cnnnnn_QnCCYY_QUARTERLY.zip Cnnnnn represents the reporting institution used to submit returns for the FVC. QnCCYY represents the reporting period in the format Q (quarter) N (1, 2, 3 or 4) CCYY (year). Sample file name: C12345_Q42009_QUARTERLY.zip Files that do not follow the correct naming convention will be immediately rejected by the system. No further processing will take place. 1.3.2 Schema validation The XML file must be valid according to the relevant XML schema defined by the Central Bank. Reporting firms should ensure that files have been checked against this schema before loading to the Online Reporting system. The schema sets out the structural and data type rules for each template in the return. Some templates have a predefined number of rows and some templates can have as many rows as a firm has to report. If a template contains a row or column number that is greater than the predefined number of rows and columns, the file will fail the schema validation. If a template contains more rows or columns than is the maximum allowed for that template, the file will fail the schema validation. A copy of the reporting version of the FVC return accompanies this document which includes the row and column numbers to use in the XML file. (Header rows in blue are ignored for the purposes of row numbers in the XML file) Every column in every template has a predefined data type. Data entered in all rows for a particular column must match the predefined data type. If a file contains any data type errors the file will fail the schema validation. If an XML file fails the schema validation, it will be rejected. Details of the errors can be seen on the File Load History page of the Online Reporting system. 1.3.3 On-Form Validation Rules The Central Bank has defined its own set of validation rules for each template, which ensures all data submitted are correct and are of a high quality. These rules will be applied in the file processing when the data is being loaded. The system will check to see whether the data contains any errors – such as a total field that does not match the sum of its components. ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 6 of 13 CBFSAI November 2009 _______________________________________________________________________________ If any of these rules are broken, the data will still be loaded to the system but the template will have a status of ‘Loaded with Errors’. 1.3.4 Cross-Form Validation Rules The Central Bank has also defined a number of cross-form validation rules. These rules will be not performed as part of the file upload process, but will be applied when the return is finalised on the system. When a return is finalised the system checks that the set of data entered is complete and internally consistent. For example where a return has more than one form, sometimes a figure on one form will need to match a figure on another form. 1.4 Entering, Editing and Revising data Data for any section in a return can be edited on the system before the return has been signed off. Once data has been loaded to the system by file upload or by manual entry, it can be in a number of different states. 1.4.1 Status of Data Individual templates can have the following status: Blank - no data has yet been entered for that template. Templates with this status could be mandatory or optional. Invalid - data has been entered for the template but some on-form rules have been broken. The data has been saved with errors. Valid - data has been entered and all on-form rules have been passed. Finalised – the template is ready to be signed off. Signed Off – the data has been signed off by someone with signoff access and has been submitted to the Central Bank. No further updates can be made unless the template is unlocked by the Central Bank. Unlocked – the template has been unlocked by the Central Bank so that revisions can be made by the reporting firm. ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 7 of 13 CBFSAI November 2009 _______________________________________________________________________________ Returns can have the following status: Blank – no data has been entered for any template on the return. Invalid – at least one template on the return has been saved with errors. Incomplete – not all mandatory templates have been entered so the return cannot be finalised yet. Valid – all mandatory templates have been completed and all optional templates entered contain valid data. The return is now ready to be finalised. Finalised – all cross-form rules for the return have been passed and the return can now be signed off. Signed Off – the return and all its templates have been signed off by someone with signoff access and have been submitted to the Central Bank. No further updates can be made unless the return is unlocked by the Central Bank. Unlocked – the return and at least one of its templates has been unlocked by the Central Bank so that revisions can be made by the reporting firm. 1.4.2 Entering Data The following flow of events takes place for entering data to the system. This flow of events is the same whether data is manually entered or uploaded from a file. 1. When data is first entered and saved for any template, the status of that template changes from Blank to Valid or Invalid. 2. Invalid templates should be edited and saved with a Valid status. 3. When all mandatory templates within a return are Valid and all optional templates are either Blank or Valid, the return can be Finalised by clicking the Finalise button on the Templates page. Finalised means that the person who entered the data is satisfied that all necessary templates have been completed, and the return is ready to be Signed Off by someone with signoff access. (This is necessary because templates can be entered in any order). 4. Someone with signoff access can sign off the return by clicking on the Sign Off button on the Templates page. ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 8 of 13 CBFSAI November 2009 _______________________________________________________________________________ 5. The return and all its templates will now have a status of Signed Off. No further updates can be made unless the return is unlocked by the Central Bank. When a return and template(s) have been unlocked, they can be edited as required by the reporting firm. The same process must be repeated to sign off and submit the return. Any template that has a status other than Signed Off can be edited at any time either manually on the relevant form on the system or by uploading a file containing the relevant updates or revisions. 1.4.3 Revising Data If a reporting firm needs to revise data after it has been signed off, they must contact the Central Bank to unlock the relevant return and template(s). To unlock FVC returns reporting agents should contact the Central Bank at fvc.onlinereporting@centralbank.ie When the return has been unlocked the data can be edited manually or by resubmitting the relevant XML files. For manual revisions, the data should be edited, finalised and signed off. For file upload, the relevant file should be resubmitted through the Online Reporting system. Any XML files resubmitted for a template that has not been unlocked will be rejected. XML files for revisions can contain: Only the items being revised. All items that are not submitted will remain at whatever value they were set to previously. In this case the fileUpload attribute should be set to “Update” All items in the return. All items in the return will be updated to the values in the XML file. In this case the fileUpload attribute should be set to “Complete” 1.5 Structure of FVC XML instance documents XML instances submitted to the Central Bank are governed by the basic rules and regulations defined by XML. Detailed below are the additional requirements specific to the Central Bank that must be observed when submitting returns in XML format. ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 9 of 13 CBFSAI November 2009 _______________________________________________________________________________ It is absolutely necessary to follow the details below. Any details required which are not contained in the XML file or any additional unexpected information supplied in the XML file will result in the XML file being rejected. 1.5.1 Encoding It is necessary to specify the encoding attribute in the prologue of an XML instance document. In this connection it is a fundamental requirement that “UTF-8” is entered as the character encoding. Typically this will appear as: <?xml version="1.0" encoding="utf-8" ?> 1.5.2 Root Element The root element must be <FVCReturn> The root element should contain the following attributes: reportingPeriod - Mandatory Period in QNCCYY format version – version number of the schema. Fixed value 1.0. fileUpload – The type of upload file either “Complete” or “Update” 1.5.3 Template Element Each FVC Form is represented by separate template elements, identifying the schema to be used for that form. Each template element will contain a mandatory ID attribute to identify the form being reported, e.g. <Table1>, <Table2>. Each template element should contain up to a maximum of the number of <Row> elements specified in the schema. 1.5.4 Row Element For templates that contain a predefined number of rows, the <Row> element should contain a <Column> element and a “number” attribute. There are a number of different column types (e.g. <IntegerColumn>). The type to be used for each column is set in the individual schemas, and each type is defined in the SharedTypes schema. The value of the number attribute cannot exceed the maximum number of rows allowed in that template. The row number cannot previously have been assigned to another row within that form. ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 10 of 13 CBFSAI November 2009 _______________________________________________________________________________ For templates that do not contain a predefined number of rows, i.e Table3a and Table 4, the <Row> element should contain an “ISINCode” attribute. The value of the ISIN Code should be in the form of a valid ISIN Code (e.g. AT0000000001). The type is defined in the SharedTypes schema. Columns are required in Table3a. The column types used are, again, set in the shema and defined in the SharedTypes schema. No columns are required in Table4. 1.5.5 Column Element The <Column> element will contain a number attribute to identify the column being reported. This value of this attribute will be the column number within a particular <Row> element. This column element will contain the item value to be reported. There are a number of different column types (e.g. <IntegerColumn>). The type to be used for each column is set in the individual schemas, and each type is defined in the SharedTypes schema. In the case of a “Complete” file upload, if an item value is not to be reported the column should be omitted entirely from the file, it should not be included without an item value. In the case of an “Update” file upload, if a previously reported item value is to be deleted the column element should be reported empty. Complete Upload In the first example shown below the item value for column number 1 is correctly reported. However, no item value exists for column number 2, but a line has been included for it. The whole line for column 2 should be deleted before submission. The second example shows how to correctly report the data in these circumstances. Incorrectly reported: <Row number="1"> < IntegerColumn number="1">10000</ IntegerColumn > < IntegerColumn number="2"></ IntegerColumn > </Row> Correctly reported: <Row number="1"> < IntegerColumn number="1">10000</ IntegerColumn > </Row> Update Upload ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 11 of 13 CBFSAI November 2009 _______________________________________________________________________________ In the example shown below the item values for both column numbers are correctly reported. The item value for column number 1 will be uploaded, and either overwrites a previously existing item value or is entered as a new item value. If an item value previously existed for column number 2 it will be erased. Correctly reported: <Row number="1"> < IntegerColumn number="1">10000</ IntegerColumn> < IntegerColumn number="2"></ IntegerColumn> </Row> ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 12 of 13 CBFSAI November 2009 _______________________________________________________________________________ 2 Example: Sample XML instance file A sample XML instance file “C12345_C54321_Q42009_QUARTERLY.xml” has been published with the schema. 3 Addendum 3.1 FVC Returns 3.1.1 FVC Quarterly Return templates (for FVCs without a size derogation) Template Name Template Description Table 1 Outstanding Amounts Table 2a Financial Transactions Table 2b Write-offs/Write-downs Table 3a Assets: Securities other than shares (with ISIN codes) Table 3b Assets: Securities other than shares (without ISIN codes only) Table 4 Debt securities issued: ISIN codes 3.1.2 FVC Quarterly Return templates (for FVCs with a size derogation) Template Name Template Description Table 4 Debt securities issued: ISIN codes Table 5 Total Assets/Liabilities ________________________________________________________________________________________________ Reporting FVC Returns to the Central Bank in XML Page 13 of 13