Validations
Validations
Catalog of validation rules ordered by code.
60003 - ReportingPeriod year must not be later than current year
| Message | ReportingPeriod year must not be later than current year |
| XSD path | tDeclaration -> ReportingPeriod |
| Category | FO - Format |
| Severity | ER - Error |
What to check: The ReportingPeriod year must not be later than the current year.
60004 - Do not mix OECD1/OECD11 with OECD2/OECD3/OECD12/OECD13
| Message | Do not mix OECD1/OECD11 with OECD2/OECD3/OECD12/OECD13 |
| XSD path | Todas las secciones -> DocTypeIndic |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: You cannot mix new declarations with corrections in the same submission.
60005 - CorrDocRefId must reference same section as DocTypeIndic
| Message | CorrDocRefId must reference same section as DocTypeIndic |
| XSD path | t*.CorrDocRefId |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: The CorrDocRefId of a correction (OECD2/OECD3/OECD12/OECD13) must point to a DocRefId from the same section (FilingInfo, GeneralSection, Summary, JurisdictionSection or UTPR). Check the section prefix in the DocRefId.
60006 - Duplicate CorrDocRefId not allowed in same submission
| Message | Duplicate CorrDocRefId not allowed in same submission |
| XSD path | DocSpec -> CorrDocRefId (submission) |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Do not repeat the same CorrDocRefId within a single submission. Each correction must reference a different DocRefId.
60007 - DocRefId already used in another record
| Message | DocRefId already used in another record |
| XSD path | DocSpec -> DocRefId |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: DocRefId must be unique across the entire submission. Generate a different Id for each record.
60008 - CorrDocRefId cannot reference itself
| Message | CorrDocRefId cannot reference itself |
| XSD path | CorrDocRefId |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: The CorrDocRefId does not match any existing DocRefId.
60010 - FilingInfo OECD3/OECD13 requires all sections with same DocTypeIndic
| Message | FilingInfo OECD3/OECD13 requires all sections with same DocTypeIndic |
| XSD path | FilingInfo + secciones -> DocTypeIndic |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If FilingInfo is deleted (OECD3), all other sections must be deleted too.
60011 - DocRefId only allows letters and numbers (no accents, ñ, spaces)
| Message | DocRefId only allows letters and numbers (no accents, ñ, spaces) |
| XSD path | DocSpec -> DocRefId |
| Category | FO - Format |
| Severity | ER - Error |
What to check: DocRefId format: [CountryCode][Year][UniqueID]. Alphanumeric only.
60012 - With OECD1/OECD11 or OECD0/OECD10, CorrDocRefId must be omitted
| Message | With OECD1/OECD11 or OECD0/OECD10, CorrDocRefId must be omitted |
| XSD path | DocSpec -> DocTypeIndic + CorrDocRefId |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: OECD1/OECD11 are new declarations and OECD0/OECD10 are internal or test markers; they do not allow CorrDocRefId. Leave it empty.
60013 - OECD0 only valid for FilingInfo (internal marker)
| Message | OECD0 only valid for FilingInfo (internal marker for unmodified section) |
| XSD path | FilingInfo -> DocTypeIndic |
| Category | CO - Semantic rule |
| Severity | WA - Warning |
What to check: OECD0 is used internally to mark unmodified sections in a clone; the generator skips them. Only FilingInfo allows OECD0 per XSD. In other sections it is reported as a non-blocking Warning. No action needed if it is an unchanged clone.
60015 - OECD2/OECD3/OECD12/OECD13 require CorrDocRefId
| Message | OECD2/OECD3/OECD12/OECD13 require CorrDocRefId |
| XSD path | DocTypeIndic + CorrDocRefId |
| Category | OB - Required |
| Severity | ER - Error |
What to check: OECD2/OECD3/OECD12/OECD13 require CorrDocRefId.
60016 - GeneralSection cannot be OECD1/OECD11 with FilingInfo OECD0/OECD10
| Message | GeneralSection cannot be OECD1/OECD11 with FilingInfo OECD0/OECD10 |
| XSD path | FilingInfo + GeneralSection -> DocTypeIndic |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If FilingInfo DocTypeIndic is OECD0, GeneralSection cannot be OECD1.
60017 - FilingInfo OECD1/OECD11 requires GeneralSection
| Message | FilingInfo OECD1/OECD11 requires GeneralSection |
| XSD path | FilingInfo + GeneralSection -> DocTypeIndic |
| Category | OB - Required |
| Severity | ER - Error |
What to check: If FilingInfo DocTypeIndic is OECD1, GeneralSection is required.
60018 - RecJurCode must contain ReceivingCountry
| Message | No RecJurCode contains ReceivingCountry |
| XSD path | FilingInfo -> RecJurCode + ReceivingCountry |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: At least one RecJurCode must match the ReceivingCountry of the submission. Add the destination jurisdiction to the recipient list.
60019 - Role GIR403/404/405 requires RecJurCode to be only local jurisdiction
| Message | Role GIR403/404/405 requires RecJurCode to be only local jurisdiction |
| XSD path | FilingInfo.Role + RecJurCode |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If the FilingCE has role GIR403, GIR404 or GIR405, RecJurCode must be only the local jurisdiction (TransmittingCountry). Correct the recipient list.
60020 - Period.Start must not be later than Period.End
| Message | Period.Start must not be later than Period.End |
| XSD path | FilingInfo -> Period |
| Category | FO - Format |
| Severity | ER - Error |
What to check: Period.Start must not be later than Period.End.
60021 - Period.End year must not be later than ReportingPeriod
| Message | Period.End year must not be later than ReportingPeriod |
| XSD path | Period + ReportingPeriod |
| Category | FO - Format |
| Severity | ER - Error |
What to check: Period.End year must not be later than the ReportingPeriod year.
60022 - FilingCE.TIN must match a UPE TIN
| Message | FilingCE.TIN must match a UPE TIN |
| XSD path | FilingCE.TIN + UPE.TIN |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If FilingCE role is GIR401, its TIN must match one of the UPE TINs.
60023 - FilingCE.ResCountryCode must match TransmittingCountry
| Message | FilingCE.ResCountryCode must match TransmittingCountry |
| XSD path | ResCountryCode + TransmittingCountry |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: FilingCE ResCountryCode must match TransmittingCountry.
60024 - SafeHarbour/ETRRange/SBIE/QDMTTut/GLoBETut require JurWithTaxingRights
| Message | SafeHarbour/ETRRange/SBIE/QDMTTut/GLoBETut require JurWithTaxingRights |
| XSD path | Summary -> JurWithTR / SafeHarbour / ETRRange / SBIE / QDMTTut / GLoBETut |
| Category | OB - Required |
| Severity | ER - Error |
What to check: If Summary has SafeHarbour/ETRRange/SBIE/QDMTTut/GLoBETut, JurWithTR is required.
60025 - ETRRate must be AdjustedCoveredTax/Total / NetGlobeIncome/Total
| Message | ETRRate must be AdjustedCoveredTax/Total / NetGlobeIncome/Total |
| XSD path | OverallComputation -> ETRRate |
| Category | CO - Semantic rule |
| Severity | WA - Warning |
What to check: ETRRate must equal AdjCovTax/NetGlobeInc. Warning only.
60026 - TopUpTax= (TopUpTaxPct×ExcessProfits)+AddTuT-QDMTT/Amount
| Message | TopUpTax= (TopUpTaxPct×ExcessProfits)+AddTuT-QDMTT/Amount |
| XSD path | OverallComputation -> TopUpTax |
| Category | CO - Semantic rule |
| Severity | WA - Warning |
What to check: TopUpTax must equal (Pct x ExcessProfits) + Additional - QDMTT. Warning only.
60027 - IIRTopUpTax must be TopUpTaxShare - IIROffSet
| Message | IIRTopUpTax must be TopUpTaxShare - IIROffSet |
| XSD path | IIR -> ParentEntity -> TopUpTax |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: IIRTopUpTax = TopUpTaxShare - IIROffSet.
60028 - AdjustedFANIL/Total must be FANIL + Sum(Additions) - Sum(Reductions)
| Message | AdjustedFANIL/Total must be FANIL + Sum(Additions) - Sum(Reductions) |
| XSD path | CEComputation -> AdjustedFANIL |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: Verify AdjustedFANIL, NetGlobeInc and AdjCoveredTax totals sum correctly.
70001 - TypeOfTIN=GIR3004 requires TIN=NOTIN
| Message | TypeOfTIN=GIR3004 requires TIN=NOTIN |
| XSD path | Cualquier TIN -> TypeOfTIN |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: If TypeOfTIN is GIR3004, TIN must be NOTIN, Unknown=TRUE, IssuedBy empty.
70002 - TIN=NOTIN requires TypeOfTIN=GIR3004
| Message | TIN=NOTIN requires TypeOfTIN=GIR3004 |
| XSD path | Cualquier TIN -> valor |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: If TIN is NOTIN, TypeOfTIN must be GIR3004, Unknown=TRUE, IssuedBy empty.
70003 - Unknown=True requires TIN=NOTIN
| Message | Unknown=True requires TIN=NOTIN |
| XSD path | Cualquier TIN -> unknown |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: If Unknown=TRUE, TIN must be NOTIN, TypeOfTIN=GIR3004, IssuedBy empty.
70004 - TIN with invalid format for the given jurisdiction
| Message | TIN with invalid format for the given jurisdiction |
| XSD path | CE -> TIN + IssuedBy + TypeOfTIN |
| Category | FO - Format |
| Severity | ER - Error |
What to check: If IssuedBy is the local jurisdiction, the TIN must comply with that jurisdiction's format (country-specific validation). Correct the TIN or IssuedBy.
70005 - TypeOfTIN is required
| Message | TypeOfTIN is required |
| XSD path | Cualquier TIN -> atributos |
| Category | OB - Required |
| Severity | ER - Error |
What to check: Attributes issuedBy and TypeOfTIN must always be present, except GIR3003/GIR3004.
70006 - TypeOfTIN=GIR3004 not allowed in QIIR Exception TIN
| Message | TypeOfTIN=GIR3004 not allowed in QIIR Exception TIN |
| XSD path | UPE/CE -> ID -> TIN |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: UPE, CE, QIIR Exception cannot use GIR3004 or Unknown. A real TIN is required.
70007 - TypeOfTIN GIR3003 requires format P2JJYYYYMMDDCCCXXX
| Message | Invalid GIR3003 format |
| XSD path | CE -> TypeOfTIN + TIN |
| Category | FO - Format |
| Severity | ER - Error |
What to check: When TypeOfTIN is GIR3003, the TIN must have format P2JJYYYYMMDDCCCXXX (jurisdiction + date + counter). Check the TIN.
70008 - RecJurCode must be in UPE or in jurisdiction with taxing rights
| Message | RecJurCode must be in UPE or in jurisdiction with taxing rights |
| XSD path | Summary -> RecJurCode vs JurisdictionSection |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: RecJurCode must match the UPE jurisdiction or a jurisdiction with taxing rights declared in JurisdictionSection.
70009 - GlobeStatus not allowed in UPE
| Message | GlobeStatus not allowed in UPE |
| XSD path | UPE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: The UPE cannot have GlobeStatus GIR305, GIR307-309, GIR312-315, GIR317-318. Correct the UPE status.
70010 - UPE ResCountryCode must be unique
| XSD path | UPE -> ResCountryCode |
| Status | Inherent to the relational model. No validation needed. |
Inherent: The OECD rule requires that no second ResCountryCode element exists within the same UPE ID. In our flat relational model (one scalar field per row), this is satisfied by construction: it is physically impossible for a single tUPE row to have two ResCountryCode values. No validation surface exists.
70011 - CE ResCountryCode must be unique
| XSD path | CE -> ResCountryCode |
| Status | Inherent to the relational model. No validation needed. |
Inherent: Same rule as 70010 but applied to CE. The XSD maxOccurs=1 cardinality is reflected in a single scalar field, impossible to duplicate at the row level.
70012 - UPEs in same jurisdiction must have same Rules (except GIR204)
| Message | UPEs in same jurisdiction must have same Rules (except GIR204) |
| XSD path | UPE/CE -> Rules |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: All entities in the same jurisdiction must have the same Rules (except GIR204).
70013 - GIR313 and GIR314 cannot coexist
| Message | GIR313 and GIR314 cannot coexist |
| XSD path | CE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR313 and GIR314 cannot coexist in the same CE.
70014 - GIR307 and GIR308 cannot coexist
| Message | GIR307 and GIR308 cannot coexist |
| XSD path | CE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR307 and GIR308 cannot coexist in the same CE.
70015 - GIR308 requires another CE with GIR307
| Message | GIR308 requires another CE with GIR307 |
| XSD path | CE -> GlobeStatus |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If a CE has GIR308, there must be another CE with GIR307. The validation searches all CEs in the same CorporateStructure, not just the current CE.
70016 - GIR307 also requires GIR309
| Message | GIR307 also requires GIR309 |
| XSD path | CE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR307 also requires GIR309 in the same CE.
70017 - GIR308 also requires GIR309
| Message | GIR308 also requires GIR309 |
| XSD path | CE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR308 also requires GIR309 in the same CE.
70018 - GIR305 and GIR306 cannot coexist
| Message | GIR305 and GIR306 cannot coexist |
| XSD path | CE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR305 and GIR306 cannot coexist in the same CE.
70019 - GIR305 requires another CE with GIR306
| Message | GIR305 requires another CE with GIR306 |
| XSD path | CE -> GlobeStatus |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If there is a CE with GIR305, there must be another CE with GIR306. The validation searches all CEs in the same CorporateStructure, not just the current CE.
70020 - GIR316/GIR318 must not have another GlobeStatus
| Message | GIR316/GIR318 must not have another GlobeStatus |
| XSD path | CE -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR316/GIR318 must not have another GlobeStatus value.
70021 - GIR316/GIR318 require OwnershipChange
| Message | GIR316/GIR318 require OwnershipChange |
| XSD path | CE -> GlobeStatus + OwnershipChange |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: CE with GIR316/GIR318 requires OwnershipChange.
70022 - ChangeDate must not be earlier than Period.Start
| Message | ChangeDate must not be earlier than Period.Start |
| XSD path | OwnershipChange -> ChangeDate |
| Category | FO - Format |
| Severity | ER - Error |
What to check: ChangeDate must not be earlier than Period.Start.
70023 - ChangeDate must not be later than Period.End
| Message | ChangeDate must not be later than Period.End |
| XSD path | OwnershipChange -> ChangeDate |
| Category | FO - Format |
| Severity | ER - Error |
What to check: ChangeDate must not be later than Period.End.
70024 - GIR719 does not allow PreOwnership
| Message | GIR719 does not allow PreOwnership |
| XSD path | OwnershipChange -> PreGlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: If PreGlobeStatus is GIR719, PreOwnership must not be completed.
70025 - OwnershipType GIR805/806 requires TIN='NOTIN' and TypeOfTIN=GIR3004
| Message | OwnershipType GIR805/806 requires TIN='NOTIN' and TypeOfTIN=GIR3004 |
| XSD path | Ownership -> OwnershipType + TIN |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: When OwnershipType is GIR805 or GIR806, TIN must be 'NOTIN' and TypeOfTIN GIR3004, with empty IssuedBy and Unknown=true. Correct the holder fields.
70026 - PE requires OwnershipPercentage=100%
| Message | PE requires OwnershipPercentage=100% |
| XSD path | CE -> Ownership |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: PE (GIR305) requires OwnershipPercentage=100%.
70027 - GIR318 requires OwnershipPercentage=0%
| Message | GIR318 requires OwnershipPercentage=0% |
| XSD path | CE -> Ownership |
| Category | FO - Format |
| Severity | ER - Error |
What to check: GIR318 requires OwnershipPercentage=0%, TIN=NOTIN, TypeOfTIN=GIR3004.
70029 - Ownership GIR801 TIN must match TIN de UPE
| Message | Ownership GIR801 TIN must match TIN de UPE |
| XSD path | Ownership.TIN + UPE.TIN |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: OwnershipType GIR801: TIN must match a UPE TIN.
70030 - Ownership GIR802/803/804 TIN must match a CE TIN in the group
| Message | Ownership GIR802/803/804 TIN not found in any CE of the group |
| XSD path | Ownership.TIN + CorporateStructure -> CE -> TIN (all CEs) |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: OwnershipType GIR802/803/804 indicates the owner is another CE. The TIN must exist in any CE of the group, not only the parent CE. Check that the TIN is declared in one of the CEs in the same CorporateStructure.
70031 - Ownership GIR305 TIN must match TIN of entity GIR306 (CE or UPE)
| Message | Ownership GIR305 TIN must match TIN de entidad GIR306 |
| XSD path | Ownership.TIN + CE/UPE with GIR306 -> TIN |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: PE (GIR305): Ownership TIN must match the TIN of the related GIR306 entity. Search includes both CEs and UPE/OtherUPE with GlobeStatus GIR306.
70032 - QIIR requires Rules with GIR201 or GIR202
| Message | QIIR requires Rules with GIR201 or GIR202 |
| XSD path | CE -> QIIR + Rules |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If QIIR data is present, Rules must contain GIR201 or GIR202.
70033 - QIIR Exception TIN does not match any CE TIN
| Message | QIIR Exception TIN does not match any CE TIN |
| XSD path | QIIR.Exception.TIN + CE.TIN |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: QIIR Exception TIN must match a CE TIN.
70034 - POPE_IPE=GIR902 requires Art2.1.3=True
| Message | POPE_IPE=GIR902 requires Art2.1.3=True |
| XSD path | CE -> QIIR -> ExceptionRule |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Art2.1.3 and Art2.1.5 are exclusive. Use Art2.1.3 with POPE_IPE=GIR902.
70035 - POPE_IPE=GIR901 requires Art2.1.5=True
| Message | POPE_IPE=GIR901 requires Art2.1.5=True |
| XSD path | CE -> QIIR -> ExceptionRule |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Art2.1.3 and Art2.1.5 are exclusive. Use Art2.1.5 with POPE_IPE=GIR901.
70036 - JurisdictionSection with SubGroup requires Summary
| Message | JurisdictionSection with SubGroup requires Summary |
| XSD path | JurisdictionSection + Summary -> JurisdictionName |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: If a JurisdictionSection has a SubGroup, a Summary must exist for the same jurisdiction.
70037 - SummarySubgroup TIN not found in JurWithTRSubgroup
| Message | SummarySubgroup TIN not found in JurWithTRSubgroup |
| XSD path | Summary.Subgroup.TIN + Jurisdiction.Subgroup.TIN |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Subgroup TINs in Summary must match Subgroup TINs in JurisdictionSection.
70038 - SafeHarbour GIR1203/1204/1205 invalid if Period.End > 30/06/2028
| Message | SafeHarbour GIR1203/1204/1205 invalid if Period.End > 30/06/2028 |
| XSD path | FilingInfo.End + Summary SafeHarbour |
| Category | FO - Format |
| Severity | ER - Error |
What to check: Transitional Safe Harbours GIR1203/1204/1205 are only valid if Period.End is ≤30/06/2028. If your period ends later, choose another mechanism.
70039 - SafeHarbour GIR1206 not valid if Period.End > 31/12/2026
| Message | SafeHarbour GIR1206 not valid if Period.End > 31/12/2026 |
| XSD path | Summary -> SafeHarbour + Period.End |
| Category | FO - Format |
| Severity | ER - Error |
What to check: SafeHarbour GIR1206 not valid if Period.End is after 31/12/2026.
70040 - SafeHarbour GIR1206 only valid in UPE jurisdiction
| Message | SafeHarbour GIR1206 only valid in UPE jurisdiction |
| XSD path | Summary -> JurisdictionName + UPE -> ResCountryCode |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: SafeHarbour GIR1206 is only valid in the UPE jurisdiction.
70041 - SafeHarbour GIR1207/1208/1209 invalid with CFSofUPE GIR502/504
| Message | SafeHarbour GIR1207/1208/1209 invalid with CFSofUPE GIR502/504 |
| XSD path | Summary SafeHarbour + FilingInfo.CFSofUPE |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: GIR1207/1208/1209 are not compatible with CFSofUPE GIR502 or GIR504. Check the combination of SafeHarbour and the UPE consolidated financial statement.
70042 - JurWithTR present requires ETRRange, SBIE, QDMTTut and GLoBETut
| Message | JurWithTR present requires ETRRange, SBIE, QDMTTut and GLoBETut |
| XSD path | Summary -> JurWithTR / ETRRange / SBIE / QDMTTut / GLoBETut |
| Category | OB - Required |
| Severity | ER - Error |
What to check: If JurWithTR present and SafeHarbour empty or GIR1206, ETRRange, SBIE, QDMTTut and GLoBETut are required.
70043 - SafeHarbour GIR1202 requires ETRRange, SBIE and QDMTTut
| Message | SafeHarbour GIR1202 requires ETRRange, SBIE and QDMTTut |
| XSD path | Summary -> SafeHarbour + ETRRange / SBIE / QDMTTut |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1202 requires ETRRange, SBIE and QDMTTut.
70044 - ETR requires ETRException or CEComputation
| Message | ETR requires ETRException or CEComputation |
| XSD path | JurisdictionSection -> ETR -> ETRStatus |
| Category | OB - Required |
| Severity | ER - Error |
What to check: ETRStatus must contain ETRException or CEComputation.
70045 - GIR1203/1204/1205 requires TransitionalCbCRSafeHarbour
| Message | GIR1203/1204/1205 requires TransitionalCbCRSafeHarbour |
| XSD path | JurisdictionSection -> SafeHarbour + TransitionalCbCRSafeHarbour |
| Category | OB - Required |
| Severity | ER - Error |
What to check: If you use SafeHarbour GIR1203, GIR1204 or GIR1205, you must report TransitionalCbCRSafeHarbour in that jurisdiction.
70046 - TransitionalCbCRSafeHarbour requires TypeofSubGroup GIR1607 or GIR1608
| Message | TransitionalCbCRSafeHarbour requires TypeofSubGroup GIR1607 or GIR1608 |
| XSD path | ETR -> ETRSubGroup -> TypeofSubGroup |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: TransitionalCbCRSafeHarbour requires Subgroup Type GIR1607 or GIR1608.
70047 - SafeHarbour GIR1203 requires TransitionalRevenue
| Message | SafeHarbour GIR1203 requires TransitionalRevenue |
| XSD path | ETR.ETRException + Summary.SafeHarbour |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1203 requires TransitionalRevenue.
70048 - SafeHarbour GIR1204 requires TransitionalIncomeTax
| Message | SafeHarbour GIR1204 requires TransitionalIncomeTax |
| XSD path | ETR.ETRException + Summary.SafeHarbour |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1204 requires TransitionalIncomeTax.
70049 - SafeHarbour GIR1206 requires UTPRSafeCITRate
| Message | SafeHarbour GIR1206 requires UTPRSafeCITRate |
| XSD path | ETR.ETRException + Summary.SafeHarbour |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1206 requires UTPRSafeCITRate.
70050 - GIR1207/1208/1209 requires Non-MaterialCE
| Message | GIR1207/1208/1209 requires Non-MaterialCE |
| XSD path | JurisdictionSection -> SafeHarbour + NonMaterialCE |
| Category | OB - Required |
| Severity | ER - Error |
What to check: GIR1207/1208/1209 require at least one Non-MaterialCE entity in the jurisdiction.
70051 - SafeHarbour GIR1208 requires AggregateSimplified in Non-MaterialCE
| Message | SafeHarbour GIR1208 requires AggregateSimplified in Non-MaterialCE |
| XSD path | Summary.SafeHarbour + NonMaterialCE |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1208 requires AggregateSimplified in Non-MaterialCE.
70052 - SafeHarbour GIR1209 requires SubstanceExclusion
| Message | SafeHarbour GIR1209 requires SubstanceExclusion |
| XSD path | Summary.SafeHarbour + SubstanceExclusion |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1209 requires SubstanceExclusion.
70053 - SafeHarbour GIR1205 with Profit>0 requires SubstanceExclusion
| Message | SafeHarbour GIR1205 with Profit>0 requires SubstanceExclusion |
| XSD path | ETR + Overall.SubstanceExclusion |
| Category | OB - Required |
| Severity | ER - Error |
What to check: SafeHarbour GIR1205 with Profit>0 requires SubstanceExclusion.
70054 - RevocationYear only valid when Status=FALSE
| Message | RevocationYear only valid when Status=FALSE |
| XSD path | ETRElection -> Status + RevocationYear |
| Category | FO - Format |
| Severity | ER - Error |
What to check: RevocationYear must only be reported when Status is FALSE (revocation). If Status is TRUE, leave RevocationYear empty; if FALSE, fill it.
70055 - QualOwnerIntentBalance is required in Art3.2.1.c
| Message | QualOwnerIntentBalance is required in Art3.2.1.c |
| XSD path | ETR -> Election -> Art3.2.1.c |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: Art3.2.1.c: OutstandingBalance = QualOwnerIntentBalance + Additions - Reductions.
70056 - RevocationYear only valid when Status=FALSE (CE level)
| Message | RevocationYear only valid when Status=FALSE (CE level) |
| XSD path | CEElection -> Status + RevocationYear |
| Category | FO - Format |
| Severity | ER - Error |
What to check: In entity-level elections (CEElection), RevocationYear is only valid with Status=FALSE. Correct the combination.
70057 - AggregatedReporting TIN must match CE TIN
| Message | AggregatedReporting TIN must match CE TIN |
| XSD path | CEComp -> AggReporting |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: AggregatedReporting: TIN must match the CE TIN.
70058 - Art7.6 InvestmentEntityTIN cannot match CE TIN
| Message | Art7.6 InvestmentEntityTIN cannot match CE TIN |
| XSD path | CEComp -> Art7.6 |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Art7.6: InvestmentEntityTIN cannot match the CE TIN.
70059 - AdjustmentItem not repeated within the same ETR
| XSD path | Overall/CE -> NetGlobeIncome -> AdjustmentItem |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Each AdjustmentItem in NetGlobeIncome must be unique within the same ETR. Applies to both Overall level (OverallComputation) and CE level (CEComputation), reusing the same code because OECD does not define an equivalent CE-level code.
70060 - GIR2025 requires InternationalShippingIncome
| Message | GIR2025 requires InternationalShippingIncome |
| XSD path | Overall -> NetGlobeIncome + IntShipping |
| Category | OB - Required |
| Severity | ER - Error |
What to check: AdjustmentItem GIR2025 requires InternationalShippingIncome.
70061 - Art4.6.1 election requires GIR2711 with negative Amount
| Message | Art4.6.1 election requires GIR2711 with negative Amount |
| XSD path | Overall + Election Art4.6.1 |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Art4.6.1 election requires GIR2711 with negative Amount.
70062 - GIR2720 requires AdjustedCoveredTax/Total not negative
| Message | GIR2720 requires AdjustedCoveredTax/Total not negative |
| XSD path | Overall -> AdjCoveredTax -> Total |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: GIR2720 requires AdjustedCoveredTax/Total non-negative.
70063 - Duplicate AdjustmentItem not allowed in AdjustedCoveredTax (Overall)
| Message | Duplicate AdjustmentItem not allowed in AdjustedCoveredTax (Overall) |
| XSD path | Overall -> AdjustedCoveredTaxAdj -> AdjustmentItem |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Each AdjustmentItem must appear only once in AdjustedCoveredTax at Overall level. Remove the duplicate.
70064 - DeferTaxAsset/Total must match sum of AmountAttributed
| Message | DeferTaxAsset/Total must match sum of AmountAttributed |
| XSD path | Overall -> PostFiling -> DeferTaxAsset |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: DeferTaxAsset/Total must match sum of AmountAttributed.
70065 - CoveredTaxRefund/Total must match sum of AmountAttributed
| Message | CoveredTaxRefund/Total must match sum of AmountAttributed |
| XSD path | Overall -> PostFiling -> CovTaxRefund |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: CovTaxRefund/Total must match sum of AmountAttributed.
70066 - Year is required in DeferTaxAsset/AmountAttributed
| Message | Year is required in DeferTaxAsset/AmountAttributed |
| XSD path | Overall -> PostFiling -> DeferTaxAsset -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: DeferTaxAsset/Year year must not be later than Period.Start.
70067 - DeferTaxAsset/Year duplicate in AmountAttributed
| Message | DeferTaxAsset/Year duplicate in AmountAttributed |
| XSD path | Overall -> PostFiling -> DeferTaxAsset -> Year |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: No duplicate years in DeferTaxAsset/AmountAttributed.
70068 - Year is required in CoveredTaxRefund/AmountAttributed
| Message | Year is required in CoveredTaxRefund/AmountAttributed |
| XSD path | Overall -> PostFiling -> CovTaxRefund -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: CovTaxRefund/Year year must not be later than Period.Start.
70069 - CoveredTaxRefund/Year duplicate in AmountAttributed
| Message | CoveredTaxRefund/Year duplicate in AmountAttributed |
| XSD path | Overall -> PostFiling -> CovTaxRefund -> Year |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: No duplicate years in CovTaxRefund/AmountAttributed.
70070 - Year is required in Recapture
| Message | Year is required in Recapture |
| XSD path | Overall -> DeemedDistTax -> Recapture -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: DeemedDistTax/Year must not be later than Period.End.
70071 - DeemedDistTax/Year cannot be 4 or more years before Period.End
| Message | DeemedDistTax/Year cannot be 4 or more years before Period.End |
| XSD path | Overall -> DeemedDistTax -> Recapture -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: DeemedDistTax/Year cannot be 4+ years before Period.End.
70072 - EndAmount must match StartAmount - TotalDDT
| Message | EndAmount must match StartAmount - TotalDDT |
| XSD path | Overall -> DeemedDistTax -> Recapture |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: EndAmount must equal StartAmount - TotalDDT.
70073 - EndAmount must not be negative
| Message | EndAmount must not be negative |
| XSD path | Overall -> DeemedDistTax -> EndAmount |
| Category | FO - Format |
| Severity | ER - Error |
What to check: EndAmount must not be negative.
70074 - TotalDDT must match sum of DDTYear-0..3
| Message | TotalDDT must match sum of DDTYear-0..3 |
| XSD path | Overall -> DeemedDistTax -> TotalDDT |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: TotalDDT = DDTYear0 + DDTYear1 + DDTYear2 + DDTYear3.
70075 - DDTYear must be 0 cuando RecaptureYear = Period.End
| Message | DDTYear must be 0 cuando RecaptureYear = Period.End |
| XSD path | Overall -> DeemedDistTax -> Recapture |
| Category | FO - Format |
| Severity | ER - Error |
What to check: If RecaptureYear = Period.End, all DDTYear values must be 0.
70076 - TransBlendCFC/Total must match Sum(AggAllocTax)
| Message | TransBlendCFC/Total must match Sum(AggAllocTax) |
| XSD path | Overall -> TransBlendCFC |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: TransBlendCFC/Total must match sum of AggAllocTax.
70077 - DeferTaxAdjustAmt/Total must be PreRecast + RecastLower - RecastHigher
| Message | DeferTaxAdjustAmt/Total must be PreRecast + RecastLower - RecastHigher |
| XSD path | Overall -> DeferTaxAdjustAmt |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: DeferTaxAdjustAmt/Total = PreRecast + RecastLower - RecastHigher.
70078 - BefRecastAdjust must be DefTaxAmt - DiffCarryValue + GLoBEValue
| Message | BefRecastAdjust must be DefTaxAmt - DiffCarryValue + GLoBEValue |
| XSD path | Overall -> DeferTaxAdjustAmt |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: BefRecastAdjust = DefTaxAmt - DiffCarryValue + GLoBEValue.
70079 - PreRecast must be BefRecastAdjust + TotalAdjust
| Message | PreRecast must be BefRecastAdjust + TotalAdjust |
| XSD path | Overall -> DeferTaxAdjustAmt |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: PreRecast = BefRecastAdjust + TotalAdjust.
70080 - Duplicate AdjustmentItem not allowed in DeferTaxAdjustAmt (Overall)
| Message | Duplicate AdjustmentItem not allowed in DeferTaxAdjustAmt (Overall) |
| XSD path | Overall -> DeferTaxAdjustAmtAdj -> AdjustmentItem |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Each AdjustmentItem must be unique in DeferTaxAdjustAmt at Overall level. Remove duplicates.
70081 - DeferredTaxAssets Total must be AssetStart - Excluded (or Recast - Excluded)
| Message | DeferredTaxAssets Total must be AssetStart - Excluded (or Recast - Excluded) |
| XSD path | Overall Transition -> DTAssets_Start/Recast/Excluded/Total |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: The Total of deferred tax assets must be AssetStart - Excluded, or if using Recast, Recast - Excluded. Recalculate Total.
70082 - Only one of AssetStart or AssetRecast may be non-zero
| Message | Only one of AssetStart or AssetRecast may be non-zero |
| XSD path | Overall -> Transition -> DeferredTaxAssets |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Only one of AssetStart or AssetRecast can be non-zero.
70083 - ExcessNeg/Remaining must be PriorYearBalance + GeneratedInRFY - UtilizedInRFY
| Message | ExcessNeg/Remaining must be PriorYearBalance + GeneratedInRFY - UtilizedInRFY |
| XSD path | Overall -> ExcessNegTaxExpense |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: ExcessNeg/Remaining = PriorYearBalance + GeneratedInRFY - UtilizedInRFY.
70084 - GIR2719 Amount must match ExcessNeg_GeneratedInRFY
| Message | GIR2719 Amount must match ExcessNeg_GeneratedInRFY |
| XSD path | Overall -> AdjCoveredTax + ExcessNeg |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: GIR2719: Amount must match ExcessNeg_GeneratedInRFY.
70085 - GIR2720 Amount must match ExcessNeg_UtilizedInRFY
| Message | GIR2720 Amount must match ExcessNeg_UtilizedInRFY |
| XSD path | Overall -> AdjCoveredTax + ExcessNeg |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: GIR2720: Amount must match ExcessNeg_UtilizedInRFY.
70086 - ExcessProfits must be Max(0, NetGlobeInc_Total - SubstanceExcl_Total)
| Message | ExcessProfits must be Max(0, NetGlobeInc_Total - SubstanceExcl_Total) |
| XSD path | Overall -> ExcessProfits |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: ExcessProfits = Max(0, NetGlobeInc_Total - SubstanceExcl_Total).
70087 - SubstanceExcl/Total must be PayrollCost×MarkUp + TangibleAsset×Markup
| Message | SubstanceExcl/Total must be PayrollCost×MarkUp + TangibleAsset×Markup |
| XSD path | Overall -> SubstanceExclusion |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: SubstanceExcl/Total = PayrollCost x MarkUp + TangibleAsset x Markup.
70088 - NetGlobeInc_Total negative requires AdditionalTopUpTax Art4.1.5
| Message | NetGlobeInc_Total negative requires AdditionalTopUpTax Art4.1.5 |
| XSD path | Overall + AdditionalTopUpTax -> Art4.1.5 |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Negative NetGlobeInc_Total requires AdditionalTopUpTax Art4.1.5.
70089 - Art4.1.5 AdjustedCoveredTax must be negative
| Message | Art4.1.5 AdjustedCoveredTax must be negative |
| XSD path | AdditionalTopUpTax -> Art4.1.5 |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Art4.1.5: AdjustedCoveredTax must be negative.
70090 - Art4.1.5/GlobeLoss must match NetGlobeIncome/Total
| Message | Art4.1.5/GlobeLoss must match NetGlobeIncome/Total |
| XSD path | AdditionalTopUpTax -> GlobeLoss |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: Art4.1.5/GlobeLoss must match NetGlobeIncome/Total.
70091 - ExpectedAdjustedCoveredTax is required in Art4.1.5
| Message | ExpectedAdjustedCoveredTax is required in Art4.1.5 |
| XSD path | AdditionalTopUpTax -> Expected |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: ExpectedAdjustedCoveredTax = GlobeLoss x 15%.
70092 - AdditionalTopUpTax is required in Art4.1.5
| Message | AdditionalTopUpTax is required in Art4.1.5 |
| XSD path | AdditionalTopUpTax -> Total |
| Category | CO - Semantic rule |
| Severity | WA - Warning |
What to check: AdditionalTopUpTax = Max(0, Expected - AdjustedCoveredTax). Warning only.
70093 - Year is required in NONArt4.1.5
| Message | Year is required in NONArt4.1.5 |
| XSD path | NONArt4.1.5 -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: NONArt4.1.5/Year must not be later than Period.End.
70094 - GIR2605 requires NONArt4.1.5/Year at least 4 years before Period.End
| Message | GIR2605 requires NONArt4.1.5/Year at least 4 years before Period.End |
| XSD path | NONArt4.1.5 -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: GIR2605 requires NONArt4.1.5/Year at least 4 years before Period.End.
70095 - GIR2602 requires NONArt4.1.5/Year = 5th year before Period.End
| Message | GIR2602 requires NONArt4.1.5/Year = 5th year before Period.End |
| XSD path | NONArt4.1.5 -> Year |
| Category | FO - Format |
| Severity | ER - Error |
What to check: GIR2602 requires NONArt4.1.5/Year = 5th year before Period.End.
70096 - AdditionalTopUpTax is required in NONArt4.1.5
| Message | AdditionalTopUpTax is required in NONArt4.1.5 |
| XSD path | NONArt4.1.5 |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: AdditionalTopUpTax in NONArt4.1.5 = Recalculated - Previous.
70097 - InclusionRatio incorrect
| Message | InclusionRatio incorrect |
| XSD path | IIR -> ParentEntity -> InclusionRatio |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: InclusionRatio = (NetGlobeIncome - OtherOwnershipAllocation) / NetGlobeIncome.
70098 - TopUpTaxShare must be TopUpTax x InclusionRatio
| Message | TopUpTaxShare must be TopUpTax x InclusionRatio |
| XSD path | IIR -> ParentEntity -> TopUpTaxShare |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: TopUpTaxShare = TopUpTax x InclusionRatio.
70099 - Sum(UTPRTopUpTaxAttributed) must match Sum(TotalUTPRTopUpTax)
| Message | Sum(UTPRTopUpTaxAttributed) must match Sum(TotalUTPRTopUpTax) |
| XSD path | UTPRAttribution <-> UTPRCalculation |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: Sum of UTPRTopUpTaxAttributed must match TotalUTPRTopUpTax.
70100 - TotalUTPRTopUpTax > 0 requires UTPRAttribution
| Message | TotalUTPRTopUpTax > 0 requires UTPRAttribution |
| XSD path | Jurisdiction.UTPR + UTPRAttribution |
| Category | OB - Required |
| Severity | ER - Error |
What to check: If TotalUTPRTopUpTax > 0, UTPRAttribution is required.
70101 - UTPRTopUpTaxCarryForward requires Employees
| Message | UTPRTopUpTaxCarryForward requires Employees |
| XSD path | UTPRAttribution -> Employees |
| Category | OB - Required |
| Severity | ER - Error |
What to check: UTPRTopUpTaxCarryForward > 0 requires Employees.
70102 - UTPRTopUpTaxCarryForward requires TangibleAssetValue
| Message | UTPRTopUpTaxCarryForward requires TangibleAssetValue |
| XSD path | UTPRAttribution -> TangibleAssetValue |
| Category | OB - Required |
| Severity | ER - Error |
What to check: UTPRTopUpTaxCarryForward > 0 requires TangibleAssetValue.
70103 - UTPRPercentage must be 0% cuando UTPRTopUpTaxCarryForward > 0
| Message | UTPRPercentage must be 0% cuando UTPRTopUpTaxCarryForward > 0 |
| XSD path | UTPRAttribution -> UTPRPercentage |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: If CarryForward > 0, UTPRPercentage must be 0%.
70104 - UTPRTopUpTaxCarriedForward must not be negative
| Message | UTPRTopUpTaxCarriedForward must not be negative |
| XSD path | UTPRAttribution -> CarriedForward |
| Category | FO - Format |
| Severity | ER - Error |
What to check: UTPRTopUpTaxCarriedForward must not be negative.
70105 - UTPRTopUpTaxCarriedForward must be CarryForward + Attributed - AddCashTaxExpense
| Message | UTPRTopUpTaxCarriedForward must be CarryForward + Attributed - AddCashTaxExpense |
| XSD path | UTPRAttribution -> CarriedForward |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: UTPRTopUpTaxCarriedForward = CarryForward + Attributed - AddCashTaxExpense.
70106 - CrossBorderAdjustments/OtherTIN cannot match CE TIN
| Message | CrossBorderAdjustments/OtherTIN cannot match CE TIN |
| XSD path | CEComp -> CrossBorder -> OtherTIN |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: CrossBorderAdjustments: OtherTIN cannot match the CE TIN.
70107 - UPEAdjustments/Reductions/Exception does not allow CrossBorderAdjustments
| Message | UPEAdjustments/Reductions/Exception does not allow CrossBorderAdjustments |
| XSD path | CEComp -> UPEAdjustments |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: UPEAdjustments: if ReductionsException=TRUE, no CrossBorderAdjustments.
70108 - Basis GIR1901/1902/1905/1906 requires TaxRate
| Message | Basis GIR1901/1902/1905/1906 requires TaxRate |
| XSD path | UPEAdjustments -> Basis + TaxRate |
| Category | OB - Required |
| Severity | ER - Error |
What to check: When Basis is GIR1901, GIR1902, GIR1905 or GIR1906, TaxRate is required in UPEAdjustments.
70109 - Basis GIR1907 requires IndResCountryCode in UPE Owner
| Message | Basis GIR1907 requires IndResCountryCode in UPE Owner |
| XSD path | CEComp -> UPEAdjustments -> Owner |
| Category | OB - Required |
| Severity | ER - Error |
What to check: Basis GIR1907 requires IndResCountryCode in UPE Owner.
70110 - Basis GIR1903/1908 requires NumberOfOwners
| Message | Basis GIR1903/1908 requires NumberOfOwners |
| XSD path | UPEAdjustments Owner -> Basis + NumOfOwners |
| Category | OB - Required |
| Severity | ER - Error |
What to check: With Basis GIR1903 or GIR1908, you must indicate NumberOfOwners in the UPEAdjustments owner detail.
70111 - Basis GIR1904/1909 requires Excluded Entity Type
| Message | Basis GIR1904/1909 requires ExTypeOfEntity |
| XSD path | UPEAdjustments Owner -> Basis + ExTypeOfEntity |
| Category | OB - Required |
| Severity | ER - Error |
What to check: With Basis GIR1904 or GIR1909, you must indicate ExTypeOfEntity (excluded entity type) in UPEAdjustments.
70112 - Basis GIR1904 does not allow ExTypeOfEntity=GIR2805
| Message | Basis GIR1904 does not allow ExTypeOfEntity=GIR2805 |
| XSD path | CEComp -> UPEAdjustments -> Owner |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Basis GIR1904: ExTypeOfEntity cannot be GIR2805.
70113 - Basis GIR1909 does not allow ExTypeOfEntity=GIR2804
| Message | Basis GIR1909 does not allow ExTypeOfEntity=GIR2804 |
| XSD path | |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check:
70114 - Amounts in CE NetGlobeIncome must have opposite signs
| Message | Amounts in CE NetGlobeIncome must have opposite signs |
| XSD path | CEComp -> NetGlobeIncome -> Amount |
| Category | FO - Format |
| Severity | ER - Error |
What to check: If two Amounts in CE NetGlobeIncome, they must have opposite signs.
70115 - GIR2022/GIR2023 requires UPEAdjustments
| Message | GIR2022/GIR2023 requires UPEAdjustments |
| XSD path | CEComputation + NetGlobeAdj + UPEAdjustments |
| Category | OB - Required |
| Severity | ER - Error |
What to check: If AdjustmentItem is GIR2022 or GIR2023 (NetGlobeIncome), you must report UPEAdjustments at entity level.
70116 - AdjustmentItem GIR2025 requires IntShippingIncome
| Message | AdjustmentItem GIR2025 requires IntShippingIncome |
| XSD path | CEComp -> NetGlobeIncome + IntShippingIncome |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: AdjustmentItem GIR2025 requires IntShippingIncome.
70117 - AdjustmentItem GIR2024 requires Art7.6 election
| Message | AdjustmentItem GIR2024 requires Art7.6 election |
| XSD path | CEComp + Art7.6 |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: AdjustmentItem GIR2024 requires Art7.6 election.
70118 - Amounts in CE AdjustedCoveredTax must have opposite signs
| Message | Amounts in CE AdjustedCoveredTax must have opposite signs |
| XSD path | CEComp -> AdjCoveredTax -> Amount |
| Category | FO - Format |
| Severity | ER - Error |
What to check: If two Amounts exist in CE AdjustedCoveredTax they must have opposite signs (same logic as 70114/70122).
70119 - CE AdjustedCoveredTax: Duplicate AdjustmentItem not allowed
| Message | CE AdjustedCoveredTax: Duplicate AdjustmentItem not allowed |
| XSD path | CE -> AdjustedCoveredTaxAdj -> AdjustmentItem |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Each AdjustmentItem must appear only once in AdjustedCoveredTax at CE level. Remove duplicates in tCEAdjCoveredTaxAdj.
70120 - CE DeferTaxAdjustAmt/Total must be DeferTaxExpense + ΣAmount + ΣRecastHigher + Σ
| Message | CE DeferTaxAdjustAmt/Total must be DeferTaxExpense + ΣAmount + ΣRecastHigher + ΣRecastLower |
| XSD path | CEComp -> DeferTaxAdjustAmt -> Total |
| Category | CA - Calculation |
| Severity | ER - Error |
What to check: DeferTaxAdjustAmt/Total = DeferTaxExpense + Sum(Amount) + Recast.
70121 - CE DeferTaxAdjustAmt: Duplicate AdjustmentItem not allowed
| Message | CE DeferTaxAdjustAmt: Duplicate AdjustmentItem not allowed |
| XSD path | CE -> DeferTaxAdjustAmtAdj -> AdjustmentItem |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: Each AdjustmentItem must be unique in DeferTaxAdjustAmt at CE level. Fix duplicates in tCEDeferTaxAdjustAmtAdj.
70122 - Amounts in CE DeferTaxAdjustAmt must have opposite signs
| Message | Amounts in CE DeferTaxAdjustAmt must have opposite signs |
| XSD path | CEComp -> DeferTaxAdjustAmt -> Amount |
| Category | FO - Format |
| Severity | ER - Error |
What to check: If two Amounts in CE DeferTaxAdjustAmt, opposite signs.
70123 - CE CrossAllocation/Additions must not be negative
| Message | CE CrossAllocation/Additions must not be negative |
| XSD path | CEComp -> CrossAllocation -> Additions |
| Category | FO - Format |
| Severity | ER - Error |
What to check: CrossAllocation: Additions must not be negative.
70124 - CE CrossAllocation/Reductions must not be positive
| Message | CE CrossAllocation/Reductions must not be positive |
| XSD path | CEComp -> CrossAllocation -> Reductions |
| Category | FO - Format |
| Severity | ER - Error |
What to check: CrossAllocation: Reductions must not be positive.
GCOH001 - ETR coherence: calculated vs manual values differ
| Message | Calculated ETR values differ from manual values |
| XSD path | JurisdictionSection -> ETR (ETRRate, TopUpTaxPercentage, TopUpTax) |
| Category | CO - Semantic rule |
| Severity | WA - Warning |
What to check: Manual ETRRate, TopUpTaxPercentage or TopUpTax values differ from CalcularETR results. Recalculate or confirm the manual values are intentional.
GCREATE - XML generation error (field not allowed by generator)
| Message | XML generation error: field with disallowed value |
| XSD path | XML Generator -> field indicated in IdRef |
| Category | FO - Format |
| Severity | ER - Error |
What to check: The generator could not create the XML: a field contains a disallowed value (e.g. 0 in a GCREATE field that does not accept 0) or a required field for generation is missing. Click Help to navigate to the record and correct the value. If the field should accept 0, select another GCREATE field or contact support.
GVAL001 - CodigoPresentacion must be ES{AAAA}241{NIF9}{id} (uppercase letters and numbers
| Message | CodigoPresentacion must be ES{AAAA}241{NIF9}{id} (uppercase letters and numbers only) |
| XSD path | Declaration -> CodigoPresentacion |
| Category | FO - Format |
| Severity | ER - Error |
What to check: CodigoPresentacion: ES{AAAA}241{NIF}{id}. Uppercase letters and numbers only.
GVAL002 - Art5_3_1 (SBIE opt-out) incompatible with Safe Harbour requiring SBIE
| XSD path | ETR.Election Art5.3.1 + Summary.SafeHarbour |
| Category | ES - Structure |
| Severity | ER - Error |
What to check: The Art5.3.1 election (SBIE opt-out) is incompatible with Safe Harbours that require SBIE or SubstanceExclusion (GIR1205, GIR1207, GIR1208, GIR1209). If SBIE opt-out is active, these Safe Harbours cannot be applied.
GVAL003 - FYTriggerEvent is required in Art6.3.4
| Message | FYTriggerEvent is required in Art6.3.4 |
| XSD path | CEComp -> Art6.3.4 -> Inclusion |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Art6.3.4: FYTriggerEvent required. Only one of Inclusion_c_i or Inclusion_c_ii.
GVAL004 - ElectionYear is required in CurrencyElection
| Message | ElectionYear is required in CurrencyElection |
| XSD path | Overall -> QDMTT -> CurrencyElection |
| Category | OB - Required |
| Severity | ER - Error |
What to check: CurrencyElection: ElectionYear and Currency required.
GXSD001 - UPE requires at least 1 TIN
| Message | UPE requires at least 1 TIN |
| XSD path | UPE/CE -> ID -> TIN |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Every UPE and CE must have at least one TIN.
GXSD002 - OtherUPE requires at least 1 Rules
| Message | OtherUPE requires at least 1 Rules |
| XSD path | UPE/CE -> ID -> Rules |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Every UPE (except ExcludedUPE) and CE must have at least one Rules.
GXSD003 - UPE requires at least 1 GlobeStatus
| Message | UPE requires at least 1 GlobeStatus |
| XSD path | UPE/CE -> ID -> GlobeStatus |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Every UPE and CE must have at least one GlobeStatus.
GXSD004 - Summary requires at least 1 RecJurCode
| Message | Summary requires at least 1 RecJurCode |
| XSD path | Summary -> RecJurCode |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Each Summary must have at least one RecJurCode.
GXSD005 - Summary requires JurisdictionName
| Message | Summary requires JurisdictionName |
| XSD path | Summary -> JurisdictionName |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Each Summary must have a JurisdictionName.
GXSD006 - InitialIntActivity requires at least one OtherJurisdiction
| Message | InitialIntActivity requires at least one OtherJurisdiction |
| XSD path | JurisdictionSection -> InitialIntActivity -> OtherJurisdiction |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: If InitialIntActivity has data, at least one OtherJurisdiction is required.
GXSD007 - Maximum 5 ResCountryCode per same TangibleAssetValue
| XSD path | InitialIntActivity -> OtherJurisdiction -> ResCountryCode |
| Category | OB - Required |
| Severity | ER - Error |
What to check: XSD limits to 5 the number of countries (ResCountryCode) sharing the same TangibleAssetValue within OtherJurisdiction. Check there are no more than 5 entries with the same TAV.
GXSD008 - No more than 3 FinancialData records allowed (XSD maxOccurs=3)
| Message | No more than 3 FinancialData records allowed (XSD maxOccurs=3) |
| XSD path | ETRException -> DeminimisFinancialData |
| Category | CO - Semantic rule |
| Severity | ER - Error |
What to check: Maximum 3 FinancialData records per ETRException.