# Plan de prueba — Circuito contable de importaciones

Para validar con el cliente antes de mergear. Cubre el modelo de **cuenta puente** que pidió DOBA: el flujo de 7 pasos de `plan-importaciones-fase2-contable.md`.

> No reemplaza a `plan-prueba-usuario-importaciones.md`, que prueba el módulo (embarques, ítems, costeo, despacho). Este se concentra en **a qué cuenta va cada peso** y en que el stock entre una sola vez.
>
> Ojo con la numeración: aquel documento dice «Fase 1 + Fase 2» refiriéndose a las fases del módulo. Las fases de este trabajo son otras.

---

## Antes de empezar

### 1. Mapear las cuentas

**Contabilidad → Mapeo de cuentas.** Sin esto no se activa nada de lo que sigue.

| Concepto | Cuenta en el plan de DOBA |
|---|---|
| `IMPORTACIONES_EN_CURSO` | `1.01.04.11` IMPORTACIONES EN CURSO |
| `ANTICIPO_DESPACHO` | `1.01.03.06.03` ANTICIPOS DE DESPACHO |
| `INVENTARIO` | `1.01.04.01.01` MERCADERÍAS GRAVADAS POR EL IVA AL 10% |
| `IVA_CREDITO_10` | ya mapeado |
| `RETENCION_RENTA_FAVOR` | para el anticipo de IRE |

> 🚨 **`INVENTARIO` hoy apunta a `OLD-1.1.4.01 Mercaderías`, que está dada de baja.** Hay que corregirlo sí o sí: el asiento del despacho que ya corre está imputando ahí. Es independiente de esta prueba.

### 2. Comprobar los prerrequisitos

- Módulo **Importaciones** activo y switch operativo encendido.
- Módulo **Contabilidad** activo.
- **Período contable abierto** en las fechas que se van a usar.
- Una **cuenta de tesorería** con cuenta contable asignada.
- Un **proveedor del exterior** y al menos dos **productos** del catálogo.

### 3. Anotar los saldos de partida

Anotá el saldo de `Importaciones en curso`, `Anticipos de despacho` y `Mercaderías` **antes** de empezar. Todas las verificaciones son contra el movimiento, no contra el saldo absoluto.

---

## El guion

Los montos son de ejemplo y están elegidos para que las cuentas sean fáciles de seguir a mano.

### Paso 1 · Crear la importación

**Importaciones → Embarques → Nuevo.** Proveedor del exterior, perfil **CONSUMO_MASIVO**.

Cargar **dos ítems** con producto del catálogo (campo *SKU interno*), cantidad y FOB unitario:

| Ítem | Producto | Cantidad | FOB unit. USD |
|---|---|---|---|
| A | cualquiera | 100 | 10 |
| B | otro | 50 | 20 |

✅ Los ítems quedan con su producto asociado. Sin eso no se va a poder liberar.

> El FOB de los ítems es la base del prorrateo. Si queda en cero, al cargar la factura el sistema corta con un mensaje — es a propósito, no un error.

### Paso 2 · Anticipo al proveedor del exterior

**Tesorería y Bancos → la cuenta → Egreso.** Monto **5.000.000**. En *«Imputar a una importación»* elegir el embarque y **«Pago al proveedor del exterior»**. Guardar y confirmar.

✅ **Contabilidad → Asientos**, buscar el del día:

```
Debe   Importaciones en curso   5.000.000
   Haber   Banco                5.000.000
```

✅ Intentar cargar **otro** pago del mismo tipo al mismo embarque → tiene que rechazarlo con un mensaje claro.

### Paso 3 · Anticipo de despacho

Otro egreso, monto **3.000.000**, tipo **«Anticipo de despacho»**.

```
Debe   Anticipos de despacho    3.000.000
   Haber   Banco                3.000.000
```

✅ Fijate que **no** tocó Importaciones en curso.

### Paso 4 · La factura del proveedor del exterior

**Compras → Nueva.** Proveedor del exterior, **sin IVA**, ítems por **20.000.000** en total. En *«Factura de importación»* elegir el embarque.

✅ Cuatro cosas:

1. En el embarque, pestaña **Costos**, aparece un componente **FOB** por 20.000.000 con el chip **«Factura»**.
2. El **costo de los ítems se actualiza**: se reparte según el FOB de cada uno (A: 100×10 = 1.000; B: 50×20 = 1.000 → mitad y mitad, 10.000.000 cada ítem).
3. **No se generó movimiento de inventario** por esta compra. La mercadería entra al liberar.
4. La factura **no aparece** en el Libro IVA de compras del período. Es correcto: no es comprobante paraguayo.

### Paso 5 · Los gastos de la importación

**Gastos → Nuevo**, un gasto local con IVA —por ejemplo honorarios del despachante por **1.100.000** (1.000.000 + 100.000 de IVA)— imputado al mismo embarque.

✅ Aparece como componente de costo por el **neto** (1.000.000), y el gasto **sí** entra al Libro IVA.

### Paso 6 · El despacho aduanero

**Embarque → pestaña Despacho.** Cargar:

| Concepto | Monto |
|---|---|
| Arancel | 2.000.000 |
| IVA importación | 1.200.000 |
| Anticipo IRE | 400.000 |

Confirmar el despacho.

✅ El asiento del despacho:

```
Debe   Importaciones en curso        2.000.000   ← sólo el arancel
Debe   IVA crédito fiscal            1.200.000
Debe   Retenciones de renta a favor    400.000   ← el IRE, que no es costo
   Haber   Anticipos de despacho      3.600.000   ← se aplica el anticipo
```

✅ Verificaciones:

- **No** hay línea de Inventario todavía.
- La contrapartida es el **anticipo**, no deuda con el proveedor.
- El **IVA importación aparece en el Libro IVA de compras** del mes del despacho.
- El **costo de los ítems subió solo por el arancel**, no por el IVA ni por el IRE.
- Saldo de *Anticipos de despacho*: 3.000.000 − 3.600.000 = **−600.000**.

> Ese saldo negativo es correcto y esperable: se anticipó menos de lo que salió. En el caso de la planilla real pasa al revés (sobra) y el sobrante **queda ahí como saldo**, no se toca.

### Paso 7 · Liberar al depósito

**Embarque → Liberar**, eligiendo el depósito.

✅ Verificaciones:

- El stock de cada producto **sube una sola vez**, por la cantidad del ítem.
- El costo unitario del movimiento de inventario es el **prorrateado completo**: mercadería + gastos + arancel, no sólo el FOB.
- El embarque queda **LIBERADO** y los ítems **DISPONIBLE**.

> Probá también el caso de error: con un ítem **sin producto asociado**, liberar tiene que fallar y **no dejar nada a medias** — ni stock ni movimientos.

### Paso 8 · Cerrar la importación

**Embarque → cambiar estado a CERRADO.**

✅ El asiento de cierre:

```
Debe   Mercaderías                  23.000.000
   Haber   Importaciones en curso   23.000.000
```

(20.000.000 de mercadería + 1.000.000 de gastos + 2.000.000 de arancel)

✅ Y lo más importante: **el saldo de «Importaciones en curso» vuelve al valor que tenía antes de empezar.** Si no vuelve a cero neto, algo quedó colgado.

---

## Casos de borde que conviene mirar

| Caso | Qué tiene que pasar |
|---|---|
| Cerrar el embarque dos veces | No se duplica el asiento |
| Cargar dos pagos del mismo tipo | Se rechaza con mensaje claro |
| Liberar con un ítem sin producto | Falla entera, sin dejar stock parcial |
| Imputar un pago a un embarque **CERRADO** | Se rechaza |
| Empresa **sin** `IMPORTACIONES_EN_CURSO` mapeado | Todo sigue como antes: el despacho carga Inventario contra el proveedor |

El último es el que garantiza que **ningún otro cliente cambie de conducta**. Vale la pena probarlo con otra empresa de prueba.

---

## Qué reportar

Por cada paso: el número de asiento generado, las cuentas y los importes. Si algo no coincide, el dato más útil es **el asiento completo** (Contabilidad → Asientos → ver detalle), no la descripción del síntoma.

Los saldos de las tres cuentas al terminar, comparados con los del inicio, son la verificación de que el circuito cierra.

---

## Lo que ya está cubierto por pruebas automáticas

No hace falta repetirlo a mano; está en `qa-importacion-mercaderia-exterior.md`:

- Que el stock entre una sola vez y con el costo prorrateado.
- Que la factura del exterior no vaya al Libro IVA ni mueva stock.
- Que convertir un costo cargado a mano no lo duplique.
- Los asientos de los dos tipos de anticipo, del despacho y del cierre.
- Que sin la cuenta puente mapeada el asiento sea el de siempre.

**Lo que esta prueba agrega es la interfaz**: que los campos estén donde se esperan, que los mensajes se entiendan y que el circuito se pueda recorrer sin ayuda.
