NOtes on the Offline PAYMENT XML SCHEMA
Version Control
30/06/2004
- Document created for Offline Payment
23/04/2009
- Removed capitalTax attribute from PaymentDeclaration element.
26/06/2012
Updated the following fields to allow them to support the new format registration numbers. The update involves a change to the regular expression used to determine if a number is valid.
Change Details:
Before: “[0-9]{7,8}[A-Wa-w][TWXtwx ]?”
After: “[0-9]{7,8}[A-Wa-w][A-ITWXZa-itwxz ]?”
Sample Numbers:
Existing Format: 1234567T
New Format: 1234567FA
Section / FieldAppendix A - Example / Added Example 2 with new format numbers.
Notes on Elements
This document contains all the validation rules, which must be passed to enable a successful upload onto ROS.
These include for each attribute or element:
- Correct data formats
- Maximum and minimum values
-Dependent attributes or elements – other elements that must not be null or other attributes for which values must be returned in certain circumstances.
This document should be used as an aid to schema.xsd. It details the data types and defaults for all the fields on the form.
The file consists of one OfflinePayment Element
OfflinePayment
The OfflinePayment element has the following attributes:
formversion / Numeric, required / Must be equal to “1” for this version of the file format.Will change with each new edition of the form.
language / E or G, required / Language through which the return is being filed:
- E for English, or
- G for Irish
It consists of:
-One PaymentStaging element.
-Zero or One PaymentDeclaration elements.
-Zero or One PaymentDetails elements.
PaymentStaging
The PaymentStaging element has the following attributes.
custName / Alpha, required / The CustomersperiodStartDate / Date, Required / The Period Start Date will be the start of the year for which the Payment is being made (DD/MM/YYYY) e.g. 01/01/2004
periodEndDate / Date, Required / The Period End Date will be the end of the year for which the Payment is being made (DD/MM/YYYY) e.g. 31/12/2004
registrationNum / AlphaNumeric, required / The Income Tax Registration number of the Customer (length 8 or 9). Format is 7 numeric (including leading zeros) followed by one/two characters.
taxType / Numeric / This is the Tax Type for the payment being made. Currently it will only be Income Tax i.e. 20.
PaymentDeclaration
The PaymentDeclaration element has the following attributes:
balancingAmount / Numeric, Required / The Balancing Amount due.preliminaryTax / Numeric, Required / Preliminary Tax Amount due
totalNetAmount / Numeric, Required / Total Amount of Tax due
isOmitted / True or False, Required / True if the Statement of Net Liabilities is omitted. False if it is not.
noPayment / True or False, Required / True if there is no Payment included with the Statement Of Net Liabilities, False Otherwise.
isRefund / True or False, Required / True if the Balancing Amount is a refund, False otherwise.
PaymentDetails
The PaymentDetails element has the following attributes:
nilDeclaration / True or False, Required / True if the payment is a nil Declaration, False otherwise.paymentAmount / Numeric, optional / Payment Amount if the customer is not making a nil declaration.
paymentDate / Numeric, Required / Payment Date
It consists of:
-One PaymentMethod element.
PaymentMethod
The PaymentMethod element has the following attributes:
cardNumber / Numeric, Optional / True if the payment is a nil Declaration, False otherwise.expiryDate / Date, Optional / Laser Card Expiry Date. (MM/YY) e.g. 01/04.
type / Numeric, Required / Payment Type. 10, 11, 12, for RDI, Laser Card and Online Banking Respectively.
Appendix A - Example
This is an example of a correct Payment xml file:
Example 1 (Using existing Registration Number Format):
<?xml version="1.0" encoding="UTF-8"?>
<OfflinePayment formversion="1" language="E">
<PaymentStaging custName="John Doe" periodEndDate="31/12/2004"
periodStartDate="01/01/2004" registrationNum="4850504H" taxType="20"/>
<PaymentDeclaration balancingAmount="-99999999.00"
isOmitted="false" isRefund="true"
noPayment="false" preliminaryTax="99999999.00" totalNetAmount="99999999.00"/>
<PaymentDetails nilDeclaration="false" paymentAmount="600.00" paymentDate="06/07/2004">
<PaymentMethod cardNumber="6304xxxxxxxxxxxx"
expiryDate="08/04" type="11"/>
</PaymentDetails>
</OfflinePayment>
Example 2 (Using new Registration Number Format):
<?xml version="1.0" encoding="UTF-8"?>
<OfflinePayment formversion="1" language="E">
<PaymentStaging custName="John Doe" periodEndDate="31/12/2004"
periodStartDate="01/01/2004" registrationNum="1234567FA" taxType="20"/>
<PaymentDeclaration balancingAmount="-99999999.00"
isOmitted="false" isRefund="true"
noPayment="false" preliminaryTax="99999999.00" totalNetAmount="99999999.00"/>
<PaymentDetails nilDeclaration="false" paymentAmount="600.00" paymentDate="06/07/2004">
<PaymentMethod cardNumber="6304xxxxxxxxxxxx"
expiryDate="08/04" type="11"/>
</PaymentDetails>
</OfflinePayment>
1