Did you read the entity out first?
That would give the correct format
Your error is
<Description>[Error] :0:0: tag name "GLPeriods" is not allowed. Possible tag names are: <obsTypes>
</Description>
What it is saying is that you cannot have GLPeriods at that point, You need to have obsTypes
This is what I get when I read an entity from 13.3
<Header action="write" externalSource="NIKU" objectType="entity" version="8.0"/>
<Entities>
<Entity billingCurrency="EUR" defaultLaborRateSource="Matrix1" defaultLaborSourceLocation="resource" defaultProjectClass="Project" defaultWIPClass="WIP" entity="Entity1" exchangeRateTypeEquipment="AVERAGE" exchangeRateTypeExpense="AVERAGE" exchangeRateTypeLabor="AVERAGE" exchangeRateTypeMaterials="AVERAGE" externalId=" " finPeriodCode="MONTHLY" geoOBS="locs" homeCurrency="EUR" orgOBS="deps" reportingCurrency="EUR">
<description><![CDATA[entity1]]></description>
<shortDescription><![CDATA[entity1]]></shortDescription>
<obsTypes>
<obs code="deps" name="Deps">
<level depth="1" name="Level 1"/>
<objectAssociation associationType="Any Unit" object="project"/>
<objectAssociation associationType="Any Unit" object="resource"/>
<unit code="it" name="IT"/>
</obs>
<obs code="locs" name="Locs">
<level depth="1" name="Level1"/>
<objectAssociation associationType="Any Unit" object="project"/>
<objectAssociation associationType="Any Unit" object="resource"/>
<unit code="america" name="America"/>
</obs>
</obsTypes>
<GLPeriods>
<GLPeriod endDate="2011-12-31" entityId="Entity1" isActive="true" periodName="2011_01" periodType="MONTHLY" quarter="0" startDate="2011-12-01" year="2011">
<nls languageCode="cs" name="1.12.2011-31.12.2011"/>
Add something similar to the data following the tag obsTypes and remember to close the tag.
Just wondering why would you need 50 years of fiscal periods for if you don't mind me asking.
Are you gonna be there after 50 years or is CA PPM gonna be there?