# 8. Módulo 4 — Facturación interempresa

## 8.1 Para qué sirve

Es habitual que una sociedad del grupo transfiera dinero a otra sin que exista todavía una factura: anticipos de tesorería, repercusión de servicios centrales, reparto de costes de estructura. Contablemente queda un **anticipo**: un saldo acreedor o deudor sin factura que lo soporte.

Este módulo convierte ese anticipo en un **par de facturas espejo**: una factura de **venta** en la empresa que cobra y una factura de **compra** en la empresa que paga, con los mismos conceptos, importes y grupos contables.

## 8.2 Cómo se llega

**Ruta:** *Matriz Situación Grupo* → seleccione una relación en estado **Anticipo** o **Descuadrada** → acción **Facturación interempresa**

## 8.3 La pantalla *Facturación interempresa*

![Pantalla Facturación interempresa completa, con el anticipo a facturar, las cuentas intercompañía, la lista de pagos que lo componen y la ficha Plantillas disponibles (vacía mientras el par no tenga ninguna creada).](https://docs.grupodynasoft.com/uploads/images/gallery/2026-09/Lt1captura-45.png)

*Captura 45. Pantalla Facturación interempresa completa, con el anticipo a facturar, las cuentas intercompañía, la lista de pagos que lo componen y la ficha Plantillas disponibles (vacía mientras el par no tenga ninguna creada).*
### 8.3.1 Zona *Anticipo a facturar*

| Campo | Descripción |
|---|---|
| **Empresa que factura** | Sociedad que emite la factura de venta (la que recibió el dinero) |
| **Empresa que recibe la factura** | Sociedad que recibe la factura de compra |
| **Pendiente de facturar** | Importe del anticipo, **IVA incluido** |
| **A fecha** | Fecha de corte |

### 8.3.2 Zona *Cuentas intercompañía*

| Campo | Descripción |
|---|---|
| **Cliente a facturar** / **Nombre** | Cliente de la emisora que representa a la receptora. Pulsable: abre la ficha |
| **Proveedor a facturar** / **Nombre** | Proveedor de la receptora que representa a la emisora. Pulsable |

### 8.3.3 Lista *Pagos que componen el anticipo*

Detalle de los movimientos que forman el importe pendiente, con los importes presentados en positivo para facilitar la lectura.

### 8.3.4 Lista *Plantillas disponibles*

Es la zona de trabajo. Cada línea es un **concepto a facturar**, materializado como un par de plantillas estándar de Business Central: una de venta en la empresa emisora y una de compra en la receptora.

| Columna | Descripción |
|---|---|
| **Código** | Código de la plantilla de venta. Formato `<abrev. emisora>-<abrev. receptora>-<nº>`, por ejemplo `360-IT-1` |
| **Descripción** | Concepto. **Editable**: al cambiarlo se renombran ambas plantillas. El botón de asistencia abre los parámetros |
| **Textos de registro OK** | Indica si están informados los textos que irán en el asiento |
| **Importe a facturar** | **Editable.** Lo que se va a facturar con este concepto |
| **% de retención** | Retención aplicada, si procede |
| **Líneas de venta** | Número de líneas de la plantilla de venta. Pulsable |
| **Nº / Fecha / Estado última factura de venta** | Resultado de la última facturación |
| **Existe plantilla de compra** | Verde si existe, rojo si falta |
| **Cód. compra** | Código de la plantilla de compra (`IT-360-1`) |
| **Líneas de compra** | Número de líneas. Pulsable |
| **Nº / Fecha / Estado última factura de compra** | Resultado |
| **Vinculada a proveedor** / **Vinculada a cliente** | Indica si la plantilla está enlazada a la ficha correspondiente |

Al pie: **Total a facturar** y **Queda por distribuir** (verde si es cero, rojo si no).

## 8.4 Crear plantillas

### 8.4.1 Propuesta manual

**Acción:** *Proponer plantillas* → **Crear propuesta manual**

![Diálogo Nueva plantilla manual con el concepto, las cuentas de venta y compra y el bloque de retención.](https://docs.grupodynasoft.com/uploads/images/gallery/2026-09/Ezpcaptura-46.png)

*Captura 46. Diálogo Nueva plantilla manual con el concepto, las cuentas de venta y compra y el bloque de retención.*
| Campo | Descripción |
|---|---|
| **Concepto a facturar** | Descripción del servicio o repercusión |
| **Nº cuenta de venta** / **Nombre** | Cuenta de ingresos de la empresa emisora. Desplegable al plan de cuentas de esa empresa |
| **Nº cuenta de compra** / **Nombre** | Cuenta de gastos de la empresa receptora |
| **Aplica retención** | Marque si la factura lleva línea de IRPF |
| **% de retención** | Porcentaje |
| **Nº cuenta retención de venta** | Cuenta de la emisora |
| **Nº cuenta retención de compra** | Cuenta de la receptora |

### 8.4.2 Propuesta con inteligencia artificial

**Acción:** *Proponer plantillas* → **Proponer plantillas con IA**

Requiere tener configurado y habilitado el módulo de IA (apartado **4.10**).

#### Cómo funciona

1. La extensión recoge el **histórico de facturas** entre las dos empresas: facturas de venta de la emisora hacia la receptora y facturas de compra de la receptora desde la emisora.
2. **Agrupa las facturas equivalentes por firma**: se normaliza la combinación de cuenta contable y descripción, eliminando dígitos y signos, de modo que «Servicios de dirección enero 2026» y «Servicios de dirección febrero 2026» cuentan como el **mismo concepto**. De cada grupo viaja solo la factura más reciente, acompañada del número de veces facturado, la primera y la última fecha y el importe medio.
3. Se sustituyen los marcadores del prompt y se envía la petición al modelo de Azure OpenAI.
4. La respuesta se presenta como una lista de **conceptos propuestos** que usted revisa y marca.

> El límite **Nº de facturas a comparar** de la configuración limita el número de **grupos de conceptos distintos**, no el número de facturas. Con 15 grupos se cubre prácticamente cualquier relación intercompañía real.

#### La ventana de propuesta

![Ventana de Copilot Proponer conceptos de facturación, mostrando el área de prompt arriba y la lista de conceptos propuestos abajo, con varias líneas marcadas.](https://docs.grupodynasoft.com/uploads/images/gallery/2026-09/kQucaptura-47.png)

*Captura 47. Ventana de Copilot Proponer conceptos de facturación, mostrando el área de prompt arriba y la lista de conceptos propuestos abajo, con varias líneas marcadas.*
| Columna | Descripción |
|---|---|
| **Crear** | Marque los conceptos que quiere convertir en plantilla |
| **Texto de registro** | Descripción propuesta |
| **Veces facturado** | Cuántas veces aparece en el histórico |
| **Nº cuenta de venta** / **Nombre** | Cuenta propuesta en la emisora |
| **Nº cuenta de compra** / **Nombre** | Cuenta propuesta en la receptora |
| **Importe medio** | Importe medio histórico |
| **Última factura** | Fecha de la última vez que se facturó |
| **Notas** | Comentarios del modelo |

> **Cuentas inexistentes:** si el modelo propone una cuenta que no existe en esa empresa, la fila aparece **en rojo y sin nombre de cuenta**. No la marque, o corrija la cuenta después.

| Acción | Efecto |
|---|---|
| **Generar** | Lanza la petición al modelo |
| **Volver a generar** | Repite la petición |
| **Crear plantillas** | Convierte los conceptos marcados en pares de plantillas |
| **Descartar** | Cierra sin crear nada |
| **Marcar todos** / **Desmarcar todos** | Selección masiva |
| **Ver lo que se envió** | Solo con *Modo log* activo. Muestra el prompt de sistema, el prompt de usuario y la respuesta en bruto |

> No se puede aceptar la propuesta sin marcar al menos un concepto: relanzar el modelo por un descuido tiene coste.

#### Aprender de otro par de empresas

Si entre estas dos sociedades nunca se ha facturado nada, no hay histórico del que aprender. La acción ofrece entonces elegir **otra empresa del grupo** a la que la emisora sí factura habitualmente, para tomar de ahí los conceptos.

![Ventana Empresas de las que aprender, con la lista de empresas facturadas y sus cuentas.](https://docs.grupodynasoft.com/uploads/images/gallery/2026-09/nhHcaptura-48.png)

*Captura 48. Ventana Empresas de las que aprender, con la lista de empresas facturadas y sus cuentas.*
### 8.4.3 Gestión de plantillas

| Acción | Efecto |
|---|---|
| **Editar parámetros de plantilla** | Modifica la retención y los textos de registro de la plantilla seleccionada |
| **Mostrar plantilla de venta** | Abre la plantilla estándar de venta |
| **Mostrar plantilla de compra** | Abre la plantilla estándar de compra |
| **Actualizar plantillas** (F5) | Relee las plantillas |
| **Eliminar plantilla** | Borra el par de plantillas y sus vínculos |

## 8.5 Generar las facturas

**Acción:** **Generar facturas**

### 8.5.1 Comprobaciones previas

Antes de generar nada, la extensión verifica:

1. Que exista al menos una plantilla.
2. Que al menos una plantilla tenga **Importe a facturar** mayor que cero.
3. Que cada plantilla con importe tenga **líneas** tanto en la versión de venta como en la de compra.
4. Que estén informados la **descripción** y los **dos textos de registro**.
5. Que el **total a facturar no supere el importe pendiente** del anticipo.

### 8.5.2 Opciones de facturación

![Diálogo Facturar anticipo con la fecha de registro y las casillas Registrar facturas y Liquidar automáticamente.](https://docs.grupodynasoft.com/uploads/images/gallery/2026-09/bq6captura-49.png)

*Captura 49. Diálogo Facturar anticipo con la fecha de registro y las casillas Registrar facturas y Liquidar automáticamente.*
| Campo | Descripción |
|---|---|
| **Plantillas a facturar** | Recuento, solo lectura |
| **Pendiente de facturar** | Importe del anticipo, solo lectura |
| **Total a facturar** | Suma de los importes indicados, solo lectura |
| **Factura que se regulariza** | Solo en el flujo de arreglo de descuadre |
| **Fecha de registro** | Fecha de las facturas. Por defecto, la fecha de trabajo |
| **Registrar facturas** | Si se desmarca, se crean solo como **borradores** |
| **Liquidar automáticamente** | Disponible solo si se registran. Lanza la liquidación por antigüedad al terminar |

### 8.5.3 El proceso


![Facturación interempresa: proceso](https://docs.grupodynasoft.com/uploads/images/drawio/2026-09/eFHproceso-facturacion.png)

*Facturación interempresa: proceso*
1. **Crear el borrador de VENTA** en la empresa emisora y ejecutar la prueba de registro.
2. **Crear el borrador de COMPRA** en la empresa receptora y ejecutar la prueba de registro.
3. ¿Está marcado **Registrar facturas**?
   - **No** → las dos facturas quedan como borradores. Proceso terminado.
   - **Sí** → continuar.
4. **Registrar la factura de venta.**
5. **Registrar la factura de compra.**
6. ¿Está marcado **Liquidar automáticamente**?
   - **Sí** → se crean y ejecutan las propuestas de liquidación de las **cuatro cuentas** del par.
   - **No** → proceso terminado.

**Cada fase incluye una prueba de registro** (*preview*) que se deshace automáticamente. Si la prueba detecta cualquier problema —cuenta bloqueada, dimensión obligatoria que falta, periodo cerrado, grupo contable inconsistente—, el proceso se detiene y **no se registra nada**.

Al terminar aparece un mensaje indicando cuántos pares de facturas se han registrado y por qué importe total, o bien cuántos se han creado como borradores.

### 8.5.4 Trabajar con borradores

Si eligió no registrar, tiene dos acciones adicionales:

| Acción | Efecto |
|---|---|
| **Registrar facturas generadas** | Registra los borradores creados |
| **Rechazar facturas** | Elimina los borradores de ambas empresas |

## 8.6 Arreglar un descuadre

**Ruta:** Matriz Situación Grupo → seleccione la relación → **Facturación interempresa** → seleccione una plantilla en *Plantillas disponibles* → **Proponer arreglo del descuadre**

> **Requisitos:** la acción vive dentro de la ventana **Facturación interempresa**, no en la barra de la matriz, y necesita una **plantilla seleccionada**, porque el arreglo se factura con ella. Además, esa ventana solo se abre si la relación tiene importe pendiente de facturar; si las dos empresas reconocen lo mismo, la acción avisa de que no hay nada que arreglar.

Cuando la relación está **Descuadrada**, normalmente es porque una de las dos empresas registró la factura y la otra no. Esta acción lo resuelve:

1. Calcula la diferencia entre lo que reconoce la receptora y lo que reconoce la emisora.
2. Si la diferencia es positiva → **falta la factura de compra** en la receptora → se genera solo esa.
3. Si es negativa → **falta la factura de venta** en la emisora → se genera solo esa.
4. En el caso de la compra, se le pide que **indique qué factura de la otra empresa se está regularizando**: se abre la lista de facturas de venta registradas de la sociedad emisora y su número se escribe como *Nº factura del proveedor*.

Al terminar, la aplicación confirma: *«Se ha registrado el documento X en la empresa Y por Z. La relación debería estar cuadrada ahora.»*

## 8.7 Utilidades de limpieza

**Acción:** *Utilidades de limpieza* → **Eliminar plantillas, vínculos y borradores**

> **Solo visible en entornos Sandbox.** Recorre todas las empresas del grupo buscando las plantillas del par y borra plantillas, líneas, vínculos con las fichas y borradores de factura. Si una de las empresas es vinculada, le pide que rechace los suyos.

Es una herramienta de pruebas. **No está disponible en producción** por diseño.

## 8.8 Facturación con empresas vinculadas

Si la emisora o la receptora vive en otra suscripción, el proceso es el mismo desde el punto de vista del usuario, pero por debajo la extensión:

- Envía la cabecera y las líneas de la factura a la API de la otra suscripción.
- Solicita la **comprobación** (prueba de registro), después el **registro**, y en caso de error el **rechazo**.
- Recupera el **PDF** de la factura de venta y lo **adjunta** a la factura de compra del otro lado.

![Ventana Facturación interempresa de un par con una empresa vinculada, con la ficha Plantillas disponibles mostrando el código de venta y el de compra y sus últimas facturas en estado Registrada a ambos lados.](https://docs.grupodynasoft.com/uploads/images/gallery/2026-09/LXvcaptura-65.png)

*Captura 65. Ventana Facturación interempresa de un par con una empresa vinculada, con la ficha Plantillas disponibles mostrando el código de venta y el de compra y sus últimas facturas en estado Registrada a ambos lados.*
Al cerrar la pantalla, si se generó algo y algún lado es remoto, se vuelven a leer los saldos de esa suscripción **sin preguntar**, para que la matriz quede al día.