> For the complete documentation index, see [llms.txt](https://docs.editran.onesait.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.editran.onesait.com/documentacion-editran/editran-sepa-v3/uso-de-la-zona-libre-de-los-registros.md).

# Uso de la zona libre de los registros

Se ha acordado con ciertos clientes el uso de algunas posiciones de las zonas libres de ciertos registros de los ficheros en formato plano. La finalidad es leer (plano a XML) o escribir (XML a plano) en ellos cierta información que de otra manera se perdería por no estar definido un campo para ella en la norma correspondiente. Dicha información es tratada por las aplicaciones de cliente que sólo interpretan ficheros en formato plano y, habitualmente, se emplean para generar a partir de ellos los ficheros de confirmación directamente en formato XML.

Para hacer uso de esta funcionalidad, se indicará `S` en el parámetro `<Información en el campo libre>` (véase apartado [5 Configuración de Onesait Ecosystems · Editran/SEPA](#5-configuración-de-onesait-ecosystems--editransepa) de este manual) de la llamada al programa; por defecto el conversor no la realiza.

## 8.1 XML a plano

A continuación se describen los valores trasladados desde el fichero en formato XML y los registros y posición donde se dejan en el fichero de formato plano. Todas aquellas posiciones de las zonas libres que no se utilicen con esta funcionalidad seguirán manteniéndose a blancos.

**Emisión de transferencias y cheques:**

Se traslada el contenido de:

* `<GrpHdr><MsgId>` a la posición 290 del registro de cabecera del ordenante.
* `<PmtInf><DbtrAcct><Ccy>` a la posición 325 del registro de cabecera del ordenante, siempre que el valor sea distinto de "EUR".
* `<GrpHdr><InitgPty><Id><OrgId><Othr><Id>` a la posición 328 del registro de cabecera del ordenante.
* Se escribe "XML" en la posición 598 del registro de cabecera de ordenante.
* `<PmtInf><PmtInfId>` a la posición 23 de los registros de cabecera de transferencias SEPA, de otras transferencias o de cheques, según el tipo de bloque de los tres del que proceda el dato.
* El valor del atributo `Ccy` de `<PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy="XXX">` o de `<PmtInf><CdtTrfTxInf><Amt><EqvAmt><Amt Ccy="XXX">`, siempre que sea distinto de "EUR", en la posición 502 del primer registro obligatorio de beneficiario si el bloque de origen es de Transferencia SEPA o en la 333 del mismo registro si el bloque de origen es del tipo Otras Transferencias.
* `<PmtInf><CdtTrfTxInf><Amt><EqvAmt><CcyOfTrf>` a la posición 505 del primer registro obligatorio de beneficiario si el bloque de origen es de Transferencia SEPA o en la 336 del mismo registro si el bloque de origen es del tipo Otras Transferencias.
* `<PmtInf><CdtTrfTxInf><XchgRateInf><XchRate>` a la posición 508 del primer registro obligatorio de beneficiario si el bloque de origen es de Transferencia SEPA o en la 339 del mismo registro si el bloque de origen es del tipo Otras Transferencias.
* `<PmtInf><CdtTrfTxInf><XchgRateInf><RateTp>` a la posición 521 del primer registro obligatorio de beneficiario si el bloque de origen es de Transferencia SEPA o en la 352 del mismo registro si el bloque de origen es del tipo Otras Transferencias.
* `<PmtInf><CdtTrfTxInf><XchgRateInf><CtrctId>` a la posición 525 del primer registro obligatorio de beneficiario si el bloque de origen es de Transferencia SEPA o en la 356 del mismo registro si el bloque de origen es del tipo Otras Transferencias.
* `<GrpHdr><CtrlSum>` a la posición 41 del \[Registro total general] si contiene 18 cifras.
* `<GrpHdr><NbOfTxs>` a la posición 59 del \[Registro total general] si contiene más de 8 cifras.
* `<PmtInf><CtrlSum>` a la posición 41 del \[Registro total de transferencias SEPA], \[Registro total de Otras transferencias] o \[Registro total de Cheques] según corresponda por tipo de bloque, cuando contenga 18 cifras.
* `<PmtInf><NbOfTxs>` a la posición 59 del \[Registro total de transferencias SEPA], \[Registro total de Otras transferencias] o \[Registro total de Cheques] según corresponda por tipo de bloque, cuando más de 8 cifras.
* `<SchmeNm><Prtry>` (tanto de persona jurídica como de persona física) al tramo 405-440 del \[Registro tercero de beneficiario opcional].
* Versiones de cuaderno en Bloque de Transferencias SEPA:

  * Ficheros XML con valor `SDCL` en `<LclInstrm><Cd>`, se convierten a ficheros planos de versión de cuaderno 34156.
  * Ficheros XML con valor `HIGH` en `<InstrPrty>`, se convierten a ficheros planos de versión de cuaderno 34167.
  * Ficheros XML con valor `INST` en `<LclInstrm><Cd>`, se convierten a ficheros planos de versión de cuaderno 34171.
  * Ficheros XML con valor `VOP` en `<LclInstrm><Prtry>`, se convierten a ficheros planos de versión de cuaderno 34182.

  Dado que la versión es un dato del \[Registro de Cabecera de Ordenante], el fichero lógico solo podrá tener bloques correspondientes a una de estas versiones de cuaderno.
* El valor `URGP` en `<SvcLvl>` a:
  * Si `<PmtTpInf>` viene informado a nivel de bloque de pago (`<PmtInf>`), la posición 58 del \[Registro de Cabecera de Ordenante de Otras Transferencias].
  * Si `<PmtTpInf>` viene informado a nivel de operación individual (`<CdtTrfTxInf>`), la posición 426 del \[Registro primero de Beneficiario de Otras Transferencias].
* El nombre del beneficiario de los bloques de transferencias no SEPA a la posición 430 del \[Registro primero de beneficiario de Otras Transferencias] cuando la longitud del mismo es superior a 35. Cuando la longitud del nombre es 35 o inferior, el dato se continúa mapeando a la posición 107.

**Adeudos directos (esquemas básicos y B2B):**

* Se escribe "XML" en la posición 598 del registro de cabecera de presentador.
* Presentaciones, se traslada el contenido de:
  * `<GrpHdr><Authstn><Prtry>` a la posición 167 del \[Registro cabecera de presentador].
  * `<PmtInf><PmtInfId>` a la posición 300 del \[Registro cabecera de acreedor por fecha de cobro].
  * `<PmtInf><BtchBookg>` a la posición 335 del \[Registro cabecera de acreedor por fecha de cobro] según la siguiente conversión: si contiene `true` se escribe `0` y si contiene `false` se escribe `1`.
  * Sólo esquema básico: `<DrctDbtTxInf><PmtId><InstrId>` a la posición 365 del \[Registro segundo individual opcional].
  * Sólo esquema básico: `<OrgnlDbtrAgt><FinInstnId><BIC>` o `<OrgnlDbtrAgt><FinInstnId><Othr><Id>` al campo 10 junto con las 6 primeras posiciones del campo libre que le sigue del \[Registro cuarto individual opcional].
  * `<DrctDbtTxInf><MndtRltdInf><ElctrncSgntr>` a dos nuevos registros individuales opcionales que se escriben a continuación del último registro individual opcional existente. El primero de ellos tiene como número de dato "507" y recoge las primeras 525 posiciones del valor de la etiqueta, terminando con 65 posiciones libres. El segundo de ellos tiene como número de dato "508" y recoge las siguientes 500 posiciones del valor de la etiqueta, terminando con 90 posiciones libres.
  * `<PmtInf><CtrlSum>` a la posición 81 del \[Registro total de acreedor por fecha de cobro]. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * `<PmtInf><NbOfTxs>` a la posición 99, del \[Registro total de acreedor por fecha de cobro]. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Rechazos, información del originador. Se trasladan 11 posiciones del contenido del primero de los siguientes tags que se encuentre en el fichero:

  * `<OrgnlGrpInfAndSts><StsRsnInf><Orgtr><Id><OrgId><BICorBEI>` o de
  * `<OrgnlGrpInfAndSts><StsRsnInf><Orgtr><Nm>` o de
  * `<OrgnlPmtInfAndSts><StsRsnInf><Orgtr><Id><OrgId><BICorBEI>` o de
  * `<OrgnlPmtInfAndSts><StsRsnInf><Orgtr><Nm>` o de
  * `<OrgnlPmtInfAndSts><TxInfAndSts><StsRsnInf><Orgtr><Id><OrgId><BICorBEI>` o de
  * `<OrgnlPmtInfAndSts><TxInfAndSts><StsRsnInf><Orgtr><Nm>`

  a la posición 586 de cada \[Registro primero individual].
* Retrocesiones, se traslada el contenido de:
  * `<OrgnlPmtInfAndRvsl><OrgnlCtrlSum>` a la posición 81 del \[Registro total de acreedor por fecha de cobro]. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * `<OrgnlPmtInfAndRvsl><OrgnlNbOfTx>` a la posición 99 del \[Registro total de acreedor por fecha de cobro]. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Presentaciones y retrocesiones, se traslada el contenido de:
  * `<GrpHdr><CtrlSum>` a la posición 38, del \[Registro total general]. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17)
  * `<GrpHdr><NbOfTxs>` a la posición 56, del \[Registro total general] si la cantidad supera las 8 cifras que contempla el formato plano.
* Rechazos y devoluciones, se traslada el contenido de:
  * `<OrgnlPmtInfAndSts><OrgnlCtrlSum>` a la posición 81 del \[Registro total de acreedor por fecha de cobro/devolucion]. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * `<OrgnlPmtInfAndSts><OrgnlNbOfTx>` a la posición 99 del \[Registro total de acreedor por fecha de cobro/devolucion]. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
  * `<OrgnlGrpInfAndSts><OrgnlCtrlSum>` a la posición 38 del \[Registro total general]. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * `<OrgnlGrpInfAndSts><OrgnlNbOfTxs>` a la posición 56 del \[Registro total general]. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.

## 8.2 Plano a XML

Por su parte, cuando sea el cliente quien genere los ficheros de formato plano, podrá hacer uso de ciertas zonas libres para alojar en ellas información que de otra manera sería imposible trasladar hasta el fichero XML que resulta en la conversión. Son las siguientes:

**Emisión de transferencias y cheques:**

Se trasladará el contenido de:

* 70 posiciones, comenzando en la 290, de la Cabecera de Ordenante a `<InitgPty><Nm>`. Esta funcionalidad se utiliza para poder transformar a un único XML varios ficheros lógicos planos que no coinciden en los nombres de ordenante.
* 4 posiciones, comenzando en la 360, de la Cabecera de Ordenante a tantos elementos `<PmtInf><PmtInfId>` como haya que construir en el fichero XML resultante. Este mapeo posibilita informar y conservar este concepto (que no está contemplado en ninguno de los dos formatos) para que pueda ser devuelto en los extractos bancarios enviados por La Caixa (AEB 43).
* 12 posiciones, comenzando en la 364, de la Cabecera de Ordenante a `<InitgPty><Id><OrgId>` o a `<InitgPty><Id><PrvtId>`, según corresponda. Esta funcionalidad se utiliza para poder convertir varios ficheros lógicos planos que no coinciden en los identificadores de ordenante en un único fichero XML, siendo éste el Id del Presentador que se informará.
* Cuando en la posición 23 del \[Registro de Cabecera de Transferencias SEPA] se encuentra el valor `H`, se completará `<PmtInf><PmtTpInf><InstrPtry>` con el código `HIGH` en el fichero XML resultante.
* 18 posiciones, comenzando en la 41 del \[Registro total general], a `<GrpHdr><CtrlSum>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
* 15 posiciones, comenzando en la 59 del \[Registro total general], a `<GrpHdr><NbOfTxs>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* 18 posiciones, comenzando en la 41 del \[Registro total de transferencias SEPA], \[Registro total de Otras transferencias] o \[Registro total de Cheques] según corresponda por tipo de bloque, a `<PmtInfId><CtrlSum>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
* 15 posiciones, comenzando en la 59 del \[Registro total de transferencias SEPA], \[Registro total de Otras transferencias] o \[Registro total de Cheques] según corresponda por tipo de bloque, a `<PmtInfId><NbOfTxs>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Versiones de cuaderno en Bloque de Transferencias SEPA:

  * Ficheros con versión de cuaderno 34156 se convierten a bloques de pago con `SDCL` en `<LclInstrm><Cd>`.
  * Ficheros con versión de cuaderno 34167 se convierten a bloques de pago con valor `HIGH` en `<InstrPrty>`.
  * Ficheros con versión de cuaderno 34171 se convierten a bloques de pago con `INST` en `<LclInstrm><Cd>`.
  * Ficheros con versión de cuaderno 34182 se convierten a bloques de pago con `VOP` en `<LclInstrm><Prtry>`.

  En todos los casos, `<PmtTpInf>` quedará informado a nivel de bloque de pago (`<PmtInf>`).
* El valor `URGP` en:
  * La posición 58 del \[Registro de Cabecera de Ordenante de Otras Transferencias], se mapea a `<SvcLvl>` de `<PmtTpInf>` informado a nivel de bloque de pago (`<PmtInf>`).
  * La posición 426 del \[Registro primero de Beneficiario de Otras Transferencias], se mapea a `<SvcLvl>` de `<PmtTpInf>` informado a nivel de operación individual (`<CdtTrfTxInf>`).

**Adeudos directos (esquemas básicos y B2B):**

* Presentaciones, se traslada el contenido de:
  * Sólo esquema básico: el contenido del campo 10 junto con las seis primeras posiciones del campo libre del \[Registro cuarto individual opcional] a `<OrgnlDbtrAgt><FinInstnId><BIC>` si se trata de un BIC o a `<OrgnlDbtrAgt><FinInstnId><Othr><Id>` en cualquier otro caso.
  * 18 posiciones, comenzando en la 81, del \[Registro total de acreedor por fecha de cobro] a `<PmtInf><CtrlSum>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * 15 posiciones, comenzando en la 99, del \[Registro total de acreedor por fecha de cobro] a `<PmtInf><NbOfTxs>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Rechazos, se traslada el contenido de:
  * 11 posiciones, comenzando en la 167, del registro de \[Cabecera de presentador] a `<OrgnlGrpInfAndSts><StsRsnInf><Orgtr><Id><OrgId><BICorBEI>` si es un BIC, o a `<OrgnlGrpInfAndSts><StsRsnInf><Orgtr><Nm>` si no lo es.
  * 4 posiciones, comenzando en la 178, del registro de \[Cabecera de presentador] a `<OrgnlGrpInfAndSts><StsRsnInf><Rsn><Cd>`
  * 11 posiciones, empezando en la 370, del registro de \[Cabecera de acreedor por fecha de cobro], a `<OrgnlPmtInfAndSts><StsRsnInf><Orgtr><Id><OrgId><BICorBEI>` si es un BIC, si no lo es a `<OrgnlPmtInfAndSts><StsRsnInf><Orgtr><Nm>`
  * 4 posiciones, empezando en la 381, del registro de \[Cabecera de acreedor por fecha de cobro], a `<OrgnlPmtInfAndSts><StsRsnInf><Rsn><Cd>`
  * 11 posiciones, comenzando en la 586, del \[Registro primero individual] a `<OrgnlPmtInfAndSts><TxInfAndSts><StsRsnInf><Orgtr><Id><OrgId><BICorBEI>` si es un BIC, si no lo es a `<OrgnlPmtInfAndSts><TxInfAndSts><StsRsnInf><Orgtr><Nm>`
* Retrocesiones, se traslada el contenido de:
  * 18 posiciones, comenzando en la 81, del \[Registro total de acreedor por fecha de cobro] a `<OrgnlPmtInfAndRvsl><OrgnlNbOfTx>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * 15 posiciones, comenzando en la 99, del \[Registro total de acreedor por fecha de cobro] a `<OrgnlPmtInfAndRvsl><OrgnlNbOfTx>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Presentaciones y retrocesiones, se traslada el contenido de:
  * 18 posiciones, comenzando en la 38, del \[Registro total general] a `<GrpHdr><CtrlSum>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * 15 posiciones, comenzando en la 56, del \[Registro total general] a `<GrpHdr><NbOfTxs>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Rechazos y devoluciones, se traslada el contenido de:
  * 35 posiciones, comenzando en la 335, del registro de \[Cabecera de acreedor por fecha de cobro] a `<OrgnlPmtInfAndSts><OrgnlPmtInfId>`.
  * 18 posiciones, comenzando en la 81, del \[Registro total de acreedor por fecha de cobro/devolución] a `<OrgnlPmtInfAndSts><OrgnlNbOfTx>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * 15 posiciones, comenzando en la 99, del \[Registro total de acreedor por fecha de cobro/devolución] a `<OrgnlPmtInfAndSts><OrgnlNbOfTx>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
  * 18 posiciones, comenzando en la 38, del \[Registro total general] a `<OrgnlGrpInfAndSts><OrgnlCtrlSum>`. Se utilizará para recoger importes de 18 cifras en total (la norma de formato plano contempla hasta 17).
  * 15 posiciones, comenzando en la 56, del \[Registro total general] a `<OrgnlGrpInfAndSts><OrgnlNbOfTxs>`. Se utilizará para recoger números de registros individuales cuyo valor supere las 8 cifras que contempla el formato plano.
* Devoluciones, se traslada el contenido de:

  Se contempla un \[Registro Segundo Individual Opcional] que comenzará por `2319143004`. Este registro no existe en la norma pero es necesario para alojar la información que a continuación se detalla y que no es posible mapear al \[Registro primero individual obligatorio], por carecer éste de espacio suficiente en el campo libre.

  * 35 posiciones comenzando en la posición 11, del \[Registro Segundo Individual Opcional] a la etiqueta `<TxInfAndSts><StsId>`
  * 35 posiciones comenzando en la 46, del \[Registro Segundo Individual Opcional], a la etiqueta `<TxInfAndSts><OrgnlInstrId>`
  * 105 posiciones, comenzando en la 81, del \[Registro total general] a `<OrgnlGrpInfAndSts><StsRsnInf><AddtlInf>`.

El conversor buscará en primer lugar esta información en los campos libres. Si estuvieran vacíos, se efectuará el mapeo tal y como se hace habitualmente para cada uno de esos campos.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.editran.onesait.com/documentacion-editran/editran-sepa-v3/uso-de-la-zona-libre-de-los-registros.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
