-50% de descuento* Si compras la misma norma UNE en distintos idiomas. * Dto. sobre el pvp inferior.

EN 1995-1-2:2025

Eurocode 5 - Design of timber structures - Part 1-2: Structural fire design

Fecha edición: 2025-09-17
En Vigor
Idiomas disponibles: Francés, Inglés
Resumen: 1.1 Scope of EN 1995-1-2 (1) This document deals with the design of timber structures for the accidental situation of fire exposure and it is intended to be used in conjunction with EN 1995-1-1 and EN 1991-1-2. This document only identifies differences from, or supplements to, normal temperature design. (2) This document applies to timber structures required to fulfil a loadbearing function, separating function or both. (3) This document gives principles and application rules for the design of structures for specified requirements in respect of the aforementioned functions and the levels of performance. (4) This document applies to structures, or parts of structures, that are within the scope of EN 1995-1-1 and are designed accordingly. (5) The methods given in this document are applicable to all products covered by European technical product specifications made reference to in this document. 1.2 Assumptions (1) In addition to the general assumptions of EN 1990, the following assumptions apply: - the choice of the relevant design fire scenario is made by appropriate qualified and experienced personnel, or is given by the relevant national regulation; - any fire protection measure taken into account in the design will be adequately maintained.

1.1 Anwendungsbereich von EN 1995 1 2 (1) Dieses Dokument regelt Bemessung und Konstruktion von Holzbauwerken für die außergewöhnliche Situation einer Brandbeanspruchung und ist in Verbindung mit EN 1995 1 1 und EN 1991 1 2 anwendbar. Dieses Dokument bestimmt nur Unterschiede von oder Ergänzungen zur Bemessung unter Normaltemperatur. (2) Dieses Dokument ist anwendbar für Holzbaukonstruktionen, die eine tragende Funktion, raumabschließende Funktion oder beides erfüllen. (3) Dieses Dokument enthält Grundsätze und Anwendungsregeln für die Bemessung von Tragwerken mit festgelegten Anforderungen hinsichtlich der vorgenannten Funktionen und Anforderungsklassen. (4) Dieses Dokument ist anwendbar für Tragwerke oder Teile von Tragwerken, die in den Anwendungsbereich von EN 1995 1 1 fallen und entsprechend bemessen werden. (5) Die in diesem Dokument enthaltenen Verfahren sind auf alle Produkte anwendbar, auf deren Europäische Technische Produktspezifikationen in diesem Dokument verwiesen wird. 1.2 Voraussetzungen (1) Die folgenden Voraussetzungen sind zusätzlich zu den allgemeinen Voraussetzungen nach EN 1990 anwendbar:  die Wahl des maßgebenden Bemessungsbrandszenarios wird durch entsprechend qualifiziertes und erfahrenes Personal getroffen oder durch die maßgebende nationale Vorschrift vorgegeben;  jede bei der Bemessung berücksichtigte Brandschutzmaßnahme wird ausreichend gewartet.

1.1 Domaine d'application de l'EN 1995-1-2 (1) Le présent document traite du calcul des structures en bois pour une situation accidentelle d'exposition au feu et doit être utilisé conjointement avec l'EN 1995-1-1 et l’EN 1991-1-2. Le présent document identifie uniquement les différences avec le calcul à température normale, ou lui apporte des compléments. (2) Le présent document s'applique aux structures en bois devant remplir une fonction porteuse, une fonction séparative ou les deux. (3) Le présent document donne les principes et les règles d'application relatifs au calcul des structures par rapport aux exigences spécifiées eu égard aux fonctions mentionnées ci-dessus et aux niveaux de performances. (4) Le présent document s'applique aux structures, ou aux parties de structures, relevant du domaine d'application de l'EN 1995-1-1 et conçues en conséquence. (5) Les méthodes données dans le présent document sont applicables pour tous les produits couverts par les spécifications techniques produits européennes qui sont référencées dans le présent document. 1.2 Hypothèses (1) Outre les hypothèses de travail générales définies dans l'EN 1990, les hypothèses suivantes s'appliquent : - le choix du scénario de feu de calcul pertinent est fait par un concepteur possédant une qualification et une expérience appropriées, ou est indiqué par la réglementation nationale concernée ; - les mesures de protection contre l'incendie prises en compte dans le calcul font l'objet d'un entretien approprié.

ICS: 91.010.30 - Aspectos técnicos, 13.220.50 - Resistencia al fuego de los materiales y elementos de construcción, 91.080.20 - Estructuras de madera
CTN: CEN/TC 250 - 6231

Modificaciones Normas

Es modificada por EN 1995-1-2:2025/prA1

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> getListTypeEntriesByERC(ercOfListTypeEntryLanguages)  [in template "34352066712900#33336#null" at line 25, column 28]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign languageEntries = getListType...  [in template "34352066712900#33336#null" at line 25, column 1]
----
1<#-- Variables --> 
2<#assign isDebug = false> 
3<#assign channelResponse = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels?filter=name eq 'Aenor Tienda'")> 
4<#assign channel = channelResponse.items[0]> 
5<#assign channelId = channel.id> 
6<#assign product = getProduct(channelId, CPDefinition_cProductId.getData()) /> 
7<#assign siteGroup = themeDisplay.getSiteGroup() /> 
8<#assign currentLocale = themeDisplay.getLocale()> 
9<#assign currentLanguage = currentLocale?substring(0,2)> 
10 
11<#-- Product data --> 
12<#assign displayDateProduct = CPDefinition_displayDate.getData() /> 
13<#assign productId = product.productId /> 
14<#assign cpDefinitionId = product.id /> 
15 
16<#assign categoriesProduct = getProductCategories(channelId, productId) /> 
17<#assign hasProductCategoriaTipoEntidadLibro = isVocabularyNameIntoCategories(categoriesProduct, 'entity type', 'libro') /> 
18<#assign hasProductCategoriaTipoEntidadNorma = isVocabularyNameIntoCategories(categoriesProduct, 'entity type', 'norma') /> 
19<#assign hasProductCategoriaTipoEntidadColeccionTematica = isVocabularyNameIntoCategories(categoriesProduct, 'entity type', 'coleccion tematica') /> 
20<#assign categoryProductInfoTematica = getCategoriesByVocabularyAsString(categoriesProduct, "temáticas", " / ", "title") /> 
21<#assign categoryProductInfoStatus = getCategoriesByVocabularyAsString(categoriesProduct, "status", " / ", "title") /> 
22 
23<#-- PickList de languages --> 
24<#assign ercOfListTypeEntryLanguages = 'IDIOMAS_NORMAS_PICKLIST' /> 
25<#assign languageEntries = getListTypeEntriesByERC(ercOfListTypeEntryLanguages) /> 
26 
27<#-- Specifications/Specifications language --> 
28<#assign specificationsLanguagesProduct = getSpecificationsProduct(channelId, productId, 'specificationKey', 'standard-languages') /> 
29<#assign filteredSpecificationsLanguagesProductTemp = filterOutItems(specificationsLanguagesProduct, 'value', ['BI', 'TR']) /> 
30<#assign filteredSpecificationsLanguagesProduct = addAllMatchingLanguagesByField(filteredSpecificationsLanguagesProductTemp, languageEntries, 'value', 'title') /> 
31 
32<#-- Thematic collection/Coleccion tematica data --> 
33<#assign thematicCollectionsProduct = getThematicCollectionProduct(cpDefinitionId) /> 
34 
35 
36<#-- Functions --> 
37<#function getProduct channelId productId> 
38    <#return restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${channelId}/products/${productId}")> 
39</#function> 
40 
41 
42<#function getProductByERC erc> 
43    <#-- TODO: estamos usando el endpoint del product admin, hay que usar la del Product de Liferay NO admin: headless-commerce-delivery-catalog --> 
44    <#-- <#return restClient.get("/headless-commerce-admin-catalog/v1.0/products/by-externalReferenceCode/${erc}")> --> 
45    <#assign response = restClient.get("/headless-commerce-admin-catalog/v1.0/products/by-externalReferenceCode/${erc}")> 
46    <#-- Si el producto no existe o tiene status NOT_FOUND, devolvemos string vacío --> 
47    <#if response?? && response.status?? && response.status == "NOT_FOUND"> 
48        <#return {}> 
49    <#elseif !response??> 
50        <#return {}> 
51    <#else> 
52        <#return response> 
53    </#if> 
54</#function> 
55 
56 
57<#function getURLsOfProduct product baseURL="" siteFriendlyURL="" languageFieldName="language" urlFieldName="url"> 
58    <#-- Inicializamos un array vacío --> 
59    <#assign urlsArray = []> 
60 
61    <#-- Validamos que product y product.urls existan --> 
62    <#if product?? && product.urls??> 
63        <#-- Iteramos sobre los idiomas --> 
64        <#list product.urls?keys as lang> 
65            <#assign urlValue = product.urls[lang] /> 
66            <#if urlValue?? && urlValue?has_content> 
67                <#-- Aseguramos que la URL empiece con "/p/" --> 
68                <#assign cleanUrl = urlValue?starts_with("/")?then(urlValue, "/p/" + urlValue) /> 
69 
70                <#-- Generamos la URL completa --> 
71                <#-- Si baseURL tiene contenido, construimos URL completa --> 
72                <#if baseURL?? && baseURL?has_content> 
73 
74                    <#-- Aseguramos que el slug empiece con /p/ --> 
75                    <#assign cleanUrl = urlValue?starts_with("/")?then(urlValue, "/p/" + urlValue) /> 
76 
77                    <#-- Tomamos las dos primeras letras del idioma para el prefijo --> 
78                    <#assign langPrefix = lang?substring(0,2)> 
79 
80                    <#-- Construimos la URL completa --> 
81                    <#if siteFriendlyURL?? && siteFriendlyURL?has_content> 
82                        <#assign fullUrl = baseURL + "/" + langPrefix + siteFriendlyURL + cleanUrl> 
83                    <#else> 
84                        <#assign fullUrl = baseURL + "/" + langPrefix + cleanUrl> 
85                    </#if> 
86 
87                <#else> 
88                    <#assign fullUrl = cleanUrl> 
89                </#if> 
90 
91                <#-- Creamos el objeto language+url --> 
92                <#assign newItem = {(languageFieldName): lang, (urlFieldName): fullUrl} /> 
93 
94                <#-- Lo agregamos al array --> 
95                <#assign urlsArray = urlsArray + [newItem] /> 
96            </#if> 
97        </#list> 
98    </#if> 
99 
100    <#return urlsArray> 
101</#function> 
102 
103 
104<#function getProductCategories channelId productId> 
105    <#return restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${channelId}/products/${productId}/categories?sort=vocabulary").items> 
106</#function> 
107 
108 
109<#function getSpecificationsProduct channelId productId field="" value=""> 
110    <#assign response = restClient.get("/headless-commerce-delivery-catalog/v1.0/channels/${channelId}/products/${productId}/product-specifications?pageSize=100&sort")> 
111    <#assign items = response.items> 
112 
113    <#-- Si se pasa campo y valor, filtrar --> 
114    <#if field?has_content && value?has_content> 
115        <#assign items = items?filter(item -> 
116            (item[field]??) && (item[field]?string?lower_case == value?lower_case) 
117        )> 
118    </#if> 
119 
120    <#return items> 
121</#function> 
122 
123 
124<#function filterOutItems items field valuesToExclude> 
125    <#-- Si el array o los valores no existen, devolver items sin cambios --> 
126    <#if !items?? || !valuesToExclude??> 
127        <#return items> 
128    </#if> 
129 
130    <#-- Filtramos: solo mantener los items cuyo campo no esté en la lista --> 
131    <#assign filteredItems = items?filter(item -> 
132        !(item[field]?? && (valuesToExclude?seq_contains(item[field]?string))) 
133    )> 
134 
135    <#return filteredItems> 
136</#function> 
137 
138 
139<#function addAllMatchingLanguagesByField specificationsLanguagesProduct languageEntries specValueField newSpecField> 
140 
141     <#if specificationsLanguagesProduct?? && languageEntries?? && specValueField?? && newSpecField??> 
142 
143         <#-- Creamos una copia para no modificar el original directamente --> 
144         <#local updatedSpecs = []> 
145 
146         <#list specificationsLanguagesProduct as spec> 
147             <#-- Valor por el que buscamos coincidencia (puede venir vacío) --> 
148             <#local keyValue = (spec[specValueField]!"")?string> 
149 
150             <#-- Buscar coincidencia sin lanzar error si no existe (idioma nuevo no contemplado) --> 
151             <#local match = {}> 
152             <#list languageEntries as entry> 
153                 <#if (entry.key!"")?string == keyValue> 
154                     <#local match = entry> 
155                     <#break> 
156                 </#if> 
157             </#list> 
158 
159             <#-- Crear una copia del objeto actual --> 
160             <#local newSpec = spec> 
161 
162             <#-- Si hay match con nombre válido usamos su nombre; si no, usamos el código del idioma como fallback --> 
163             <#if match?has_content && match.name?? && match.name?has_content> 
164                 <#local newSpec = newSpec + { (newSpecField): match.name }> 
165             <#elseif keyValue?has_content> 
166                 <#local newSpec = newSpec + { (newSpecField): keyValue }> 
167             </#if> 
168 
169             <#-- Añadir al array final --> 
170             <#local updatedSpecs = updatedSpecs + [newSpec]> 
171         </#list> 
172 
173         <#return updatedSpecs> 
174     <#else> 
175         <#return specificationsLanguagesProduct> 
176     </#if> 
177 </#function> 
178 
179 
180<#function getListTypeEntriesByERC erc fields="key,name,externalReferenceCode,name_i18n" sort="key" pageSize="1000"> 
181    <#attempt> 
182        <#return restClient.get( 
183            "/headless-admin-list-type/v1.0/list-type-definitions/by-external-reference-code/${erc}/list-type-entries?fields=${fields}&sort=${sort}&pageSize=${pageSize}" 
184        ).items> 
185    <#recover> 
186        <#return []> 
187    </#attempt> 
188</#function> 
189 
190 
191<#function getThematicCollectionProduct cpDefinitionId> 
192    <#assign response = restClient.get("/c/thematiccollections/?filter=r_thematicCollection_CPDefinitionId eq '${cpDefinitionId}'")!{} /> 
193    <#assign items = response.items![] /> 
194    <#return (items?size > 0)?then(items[0], {}) /> 
195</#function> 
196 
197 
198<#function sortByField items fieldPath sortFieldName="sortKey" order="asc"> 
199 
200    <#-- Array temporal con el campo auxiliar --> 
201    <#assign prepared = []> 
202 
203    <#list items as e> 
204        <#-- Evaluar el valor del campo dinámico --> 
205        <#assign sortValue = "" /> 
206        <#if fieldPath == "section?first.key"> 
207            <#assign sortValue = (e.section?first.key)!""?lower_case> 
208        <#elseif fieldPath == "section?first.name"> 
209            <#assign sortValue = (e.section?first.name)!""?lower_case> 
210        <#elseif fieldPath == "type?first.key"> 
211            <#assign sortValue = (e.type?first.key)!""?lower_case> 
212        <#else> 
213            <#-- Si el campoPath no está mapeado, usar vacío --> 
214            <#assign sortValue = "" /> 
215        </#if> 
216 
217        <#-- Agregar objeto enriquecido con campo auxiliar --> 
218        <#assign prepared = prepared + [ e + { (sortFieldName): sortValue } ]> 
219    </#list> 
220 
221    <#-- Ordenar --> 
222    <#assign sorted = prepared?sort_by(sortFieldName)> 
223 
224    <#-- Si order = desc, invertir --> 
225    <#if order?lower_case == "desc"> 
226        <#assign sorted = sorted?reverse> 
227    </#if> 
228 
229    <#return sorted> 
230</#function> 
231 
232 
233<#function addKeysFieldNested items arrayField nestedField newFieldName mode="first" subArrayField=""> 
234 
235    <#assign enrichedItems = []> 
236 
237    <#list items as e> 
238        <#assign resultValue = ""> 
239 
240        <#-- Detectamos el array del objeto principal --> 
241        <#assign targetArray = e[arrayField]![]> 
242 
243        <#if targetArray?has_content> 
244            <#if mode == "all"> 
245                <#assign keysList = []> 
246                <#list targetArray as t> 
247                    <#if subArrayField?has_content> 
248                        <#assign subArray = t[subArrayField]![]> 
249                        <#if subArray?has_content> 
250                            <#list subArray as sub> 
251                                <#assign keysList = keysList + [ sub[nestedField]!"" ]> 
252                            </#list> 
253                        </#if> 
254                    <#else> 
255                        <#assign keysList = keysList + [ t[nestedField]!"" ]> 
256                    </#if> 
257                </#list> 
258                <#assign resultValue = keysList?join(", ")> 
259            <#elseif mode == "first"> 
260                <#assign firstItem = targetArray?first> 
261                <#if subArrayField?has_content> 
262                    <#assign subArray = firstItem[subArrayField]![]> 
263                    <#if subArray?has_content> 
264                        <#assign resultValue = subArray?first[nestedField]!"" > 
265                    <#else> 
266                        <#assign resultValue = "" > 
267                    </#if> 
268                <#else> 
269                    <#assign resultValue = firstItem[nestedField]!"" > 
270                </#if> 
271            </#if> 
272        <#else> 
273            <#assign resultValue = ""> 
274        </#if> 
275 
276        <#-- Añadimos el nuevo campo al objeto --> 
277        <#assign enrichedItems = enrichedItems + [ 
278            e + { (newFieldName): resultValue } 
279        ]> 
280    </#list> 
281 
282    <#return enrichedItems> 
283</#function> 
284 
285 
286<#function isVocabularyNameIntoCategories categories vocabulary name> 
287    <#assign found = false /> 
288 
289    <#if categories?has_content && vocabulary?has_content && name?has_content> 
290 
291        <#assign vocabNorm = normalize(vocabulary) /> 
292        <#assign nameNorm  = normalize(name) /> 
293 
294        <#list categories as category> 
295            <#if !found> 
296                <#assign catVocabNorm = normalize(category.vocabulary) /> 
297                <#assign catNameNorm  = normalize(category.name) /> 
298 
299                <#if catVocabNorm == vocabNorm && catNameNorm == nameNorm> 
300                    <#assign found = true /> 
301                </#if> 
302            </#if> 
303        </#list> 
304 
305    </#if> 
306 
307    <#return found> 
308</#function> 
309 
310 
311<#function normalize text onlyAccents = false> 
312    <#-- proteger null --> 
313    <#if !text?has_content> 
314        <#return ""> 
315    </#if> 
316 
317    <#assign t = text /> 
318 
319    <#-- quitar acentos --> 
320    <#assign t = t 
321        ?replace("á","a")?replace("é","e")?replace("í","i") 
322        ?replace("ó","o")?replace("ú","u")?replace("ü","u") 
323        ?replace("ñ","n") 
324        ?replace("Á","A")?replace("É","E")?replace("Í","I") 
325        ?replace("Ó","O")?replace("Ú","U")?replace("Ü","U") 
326        ?replace("Ñ","N") 
327    /> 
328 
329    <#-- si NO es solo acentos, normalización completa --> 
330    <#if !onlyAccents> 
331        <#assign t = t?lower_case /> 
332        <#assign t = t?trim /> 
333        <#assign t = t?replace("\\s+", " ", "r") /> 
334    </#if> 
335 
336    <#return t> 
337</#function> 
338 
339 
340<#-- Función que retorna los valores de categorías como string, normalizando vocabulario --> 
341<#function getCategoriesByVocabularyAsString categories vocabulary separator=" / " field="name"> 
342    <#assign matchedValues = []> 
343    <#if categories?has_content && vocabulary?has_content> 
344        <#list categories as category> 
345            <#-- Normalizamos tanto el vocabulary de la categoría como el buscado --> 
346            <#if normalize(category.vocabulary, true)?lower_case == normalize(vocabulary, true)?lower_case> 
347                <#if field == "title"> 
348                    <#assign matchedValues += [category.title]> 
349                <#else> 
350                    <#assign matchedValues += [category.name]> 
351                </#if> 
352            </#if> 
353        </#list> 
354    </#if> 
355    <#return matchedValues?join(separator)> 
356</#function> 
357 
358 
359<#macro printObject obj> 
360    <#-- Permite hacer un output de un array de objetos o un objeto que se pasa como parámetro --> 
361    <#if obj?is_hash> 
362        { 
363        <#list obj?keys as k> 
364            "${k}": 
365            <#assign value = obj[k]> 
366            <#if value?is_hash || value?is_sequence> 
367                <@printObject obj=value/> 
368            <#elseif value?is_boolean> 
369                ${value?c} 
370            <#elseif value?is_number> 
371                ${value} 
372            <#elseif value?has_content> 
373                "${value?string}" 
374            <#else> 
375                null 
376            </#if> 
377            <#if k_has_next>, </#if> 
378        </#list> 
379        } 
380    <#elseif obj?is_sequence> 
381        [ 
382        <#list obj as item> 
383            <@printObject obj=item/> 
384            <#if item_has_next>, </#if> 
385        </#list> 
386        ] 
387    <#elseif obj?is_boolean> 
388        ${obj?c} 
389    <#elseif obj?is_number> 
390        ${obj} 
391    <#elseif obj?has_content> 
392        "${obj?string}" 
393    <#else> 
394        null 
395    </#if> 
396</#macro> 
397 
398 
399 
400 
401<#-- HTML --> 
402<#if hasProductCategoriaTipoEntidadColeccionTematica> 
403    <div id="ecom-coleccion_tematica-detail" class="ecom-coleccion_tematica"> 
404 
405        <div class="tabs-section"> 
406            <div class="tab-content"> 
407 
408                <#-- Fecha edicion del producto > description del Producto --> 
409                <div class="ecom-coleccion_tematica-detail-body"> 
410                    ${product.description} 
411                </div> 
412 
413                <#-- Para imprimir el contenido de los Objects --> 
414                <#-- Thematic collection/Coleccion tematica data 
415                <#if isDebug> 
416                    <div class=""> 
417                        <p><strong>thematicCollectionsProduct:</strong></p> 
418                        <div class="print-object-json-content mb-3" style="max-height:200px; overflow:auto; border:1px solid #ccc; padding:5px; cursor:pointer;" 
419                             onclick="const r=document.createRange(); r.selectNodeContents(this); const s=window.getSelection(); s.removeAllRanges(); s.addRange(r);"> 
420                            <@printObject thematicCollectionsProduct /> 
421                        </div> 
422                    </div> 
423                 </#if> 
424                 --> 
425 
426            </div> 
427        </div> 
428    </div> 
429</#if> 

El libro en palabras del autor

Ultricies magna feugiat malesuada sociosqu varius vivamus cubilia parturient, himenaeos vitae vehicula nam placerat netus urna platea, nostra rutrum felis mattis penatibus velit quisque.
Preguntas frecuentes ¿Tienes alguna duda sobre nuestros productos?
  • ​Normas UNE, EN, ISO, IEC, BSI, DIN, ASTM, AFNOR, IEEE, SAE.
  • Además, las normas del resto de organismos las puedes pedir a través del e-mail normas@aenor.com​​
  • Libros técnicos en papel y en soporte electrónico (PDF, epub).

 

Las normas pueden adquirirse en PDF, lectura o papel. Las normas en lectura no son archivos de descarga, solo pueden visualizarse en el área de cliente. Las normas solicitadas en papel y algunos de los libros en catálogo se imprimen bajo demanda. 

 

Consultar plazos en normas@aenor.com​​.

La licencia de uso es para un usuario y un dispositivo, si deseas reproducir el contenido de la norma, debes solicitar una licencia que tendrá un coste adicional. Envíanos tu consulta aquí 
 

Prohibido utilizar normas y otros contenidos protegidos por propiedad intelectual en sistemas de IA. Si está interesado en este tipo de usos, contacte con normas@aenor.com. El incumplimiento supondrá la retirada de la licencia de acceso.

Las normas y libros de AENOR que aparecen en la tienda on-line solo se pueden comprar exclusivamente a través de la web: Tienda AENOR. No disponemos de tienda física.

Procedimiento de compra: haciendo clic en “Comprar” los productos deseados irán a la cesta de la compra. Si hubiera problemas de visualización el navegador recomendado es Chrome.

Para formalizar la compra debe Registrarse. En caso de no estar registrado como cliente, deberá Registrarse en la web incluyendo los datos de facturación, una clave y su email como usuario. De este modo, quedará creada la cuenta.

Una vez hecho esto, podrá visualizar su Pedido y su descuento, en caso de haber introducido algún código promocional, con todos los artículos cargados en la cesta de la compra, sus precios, impuestos establecidos en la legislación vigente y gastos de envío si fueran de aplicación.

Los precios de las normas y libros que aparecen en las diversas secciones no incluyen impuestos, ni gastos de envío.

Los códigos promocionales de AENOR constan de caracteres alfanuméricos y solo se podrán aplicar en la compra en web, recibir a través de una oferta específica y durante un tiempo limitado. Para aplicar tu código promocional, solo tienes que introducirlo en el paso 2 de 4 del proceso de compra en la web y clicar en “aplicar”, después de haberte identificado y elegido las formas de pago. Los códigos promocionales no son acumulables.

 

  • Tarjeta de crédito o débito (Visa, Mastercard) y PayPal.
  • ​Transferencia b​ancaria. En caso de optar por esta forma de pago es necesario enviar previamente a AENOR copia de la transferencia por correo electrónico a normas@aenor.com​​​
  • La factura de compra se puede descargar desde el área de cliente, en mis pedidos anteriores

​​En el caso de los ​clientes de empresas con sede ​en el extranjero, el número de identificación del contribuyente del país correspondiente (por ejemplo, en Argentina el CUIT), deberá rellenarse en el campo CIF/NIF - VAT.

  • Podrás acceder al contenido de tu compra haciendo clic en descarga o lectura según el formato seleccionado. En el apartado de "Mis productos" puedes ver todos los artículos que has adquirido; al hacer clic en cualquiera de ellos se abre el entorno de AENORMÁS, donde podrás acceder y consultar todos tus productos. Los archivos en formato digital están protegidos y en ningún caso son editables. Antes de adquirirlos, es importante que la licencia de uso sea leída y aceptada como paso previo a la compra.
  • Envío por mensajería. Los productos comprados en soporte físico se envían por mensajería. El plazo máximo de entrega en el territorio español, desde la aceptación del pedido por parte AENOR es de:
  •  Siete días laborables aproximados para todas las normas compradas a través de la tienda en soporte papel.
  • Tres días laborables aproximados para libros comprados a través de la tienda. Las existencias de los libros en papel son limitadas y su oferta en la web no implica disponibilidad en el plazo indicado. En el caso de no disponer del libro solicitado, se avisa al cliente de la demora en la recepción del pedido que será aproximadamente de siete días laborables. 

Para el resto de productos que no están en la web, consultar disponibilidad y plazo de entrega en normas@aenor.com.

1. Para los productos digitales (PDF, Epub), una vez realizada la entrega mediante descarga directa a través de la web en el Área de clientes, no tendrás derecho a ejercer tu derecho de desistimiento.

2. Para los productos personalizados en soporte papel, una vez realizada la compra, no tendrás derecho a ejercer tu derecho de desistimiento.

3.  Para el resto de productos en soporte papel, dispones del derecho a desistir de la compraventa en un plazo de 14 días naturales a contar desde la fecha de la compra. Recuerda que para la devolución es imprescindible que el producto se encuentre en perfectas condiciones, precintado por el envoltorio y conservando su embalaje original. El cliente será responsable de la recogida y los gastos de envío.

La factura del pedido incluye los gastos de envío​, por lo que no hay que abonar ningún importe al mensajero. ​Los gastos de envío se calculan en función tanto del destino final del pedido como del número de productos solicitados. Incluyen gastos de transporte y embalaje. Los gastos de envío están sujetos a revisiones periódicas. Los libros outlet tendrán gastos de envío gratuitos solo si el envío se realiza en Península.

​Destino ​Hasta tres normas y/o publicaciones ​A partir de tres normas y/o publicaciones
​Península ​ 7,31€ ​8,60€
​Baleares ​ 18,04€ ​23,34€
​Canarias, Ceuta y Melilla  ​​​18,04€ ​​23,34€
​Europa ​ 59,17€ ​80,07€
​Estados Unidos y Canadá ​ 70,07€ ​96,94€
​Resto del mundo ​ 91,94€ ​115,91€​​

 

  • ​​​​​Las compras realizadas por residentes en los Estados miembros de la Unión Europea estarán sujetas al pago de IVA (impuesto sobre el valor añadido).​
  • ​​
  • ​​En el caso de personas jurídicas y personas físicas que, actuando como empresarios, tengan su domicilio en algún Estado miembro de la Unión Europea (excepto residentes en España) y posean NIF/VAT intracomunitario inscrito en el censo VIES, estarán exentas del pago del IVA, siendo condición imprescindible el envío de dicho documento por correo electrónico a ​normas@aenor.com​​​.
  • Las compras realizadas a título particular (persona física), independientemente de donde tengan su residencia, estarán sujetas al pago del ​IVA.
  • L​as compras realizadas por entidades en países extracomunitarios estarán exentas del pago del IVA, siempre y cuando envíen el correspondiente documento de residencia fiscal por correo electrónico a normas@aenor.com​.
  • Las operaciones de venta se entenderán realizadas en el domicilio social de AENOR: Génova 6, 28004, Madrid – España.​

El contrato de compra de productos a través de este Sitio Web se regirá por la legislación española. Cualquier controversia que surja o guarde relación con el uso del Sitio Web o con dicho contrato será sometida a la jurisdicción exclusiva de los Juzgados y Tribunales de Madrid Capital.

No obstante lo anterior, si estás contratando como consumidor en los términos del Real Decreto 1/2007, nada en la presente cláusula afectará a los derechos que como tal te pudiera reconocer la legislación vigente.