ConTodo ERP — Módulo de Importaciones: Compras Internacionales, Aduanas y Costeo Nacionalizado
Módulo de Importaciones — ConTodo ERP
1. Resumen ejecutivo
El módulo de Importaciones de ConTodo es el corazón operativo y financiero para las empresas textiles, importadoras, comercializadoras y distribuidoras del Perú y LATAM. A diferencia de competidores como Defontana, StarSoft, Ofisis o SISCONT —que tratan la importación como una compra local con campos adicionales—, ConTodo modela la importación como un proceso de negocio de larga duración (60-120 días) con su propia máquina de estados, su propio costeo prorrateado multi-concepto y su integración nativa con el Kardex valorizado y la Contabilidad (PCGE).
El supuesto central de diseño es que el costo unitario nacionalizado —no el precio FOB del proveedor— es el único costo válido para:
- Valorizar el inventario en el Kardex (NIC 2 — Existencias).
- Calcular el margen real de venta (evitar vender por debajo del costo aduanero).
- Generar el asiento contable de ingreso a almacén con el costo correcto.
Riesgo crítico que mitiga el módulo: el 70-80% de las PYMEs importadoras peruanas calcula su costo unitario con hojas Excel manuales, omitiendo el prorrateo de flete/seguro y subestimando el costo en 8-15%. ConTodo automatiza el prorrateo y bloquea la valorización hasta que la DAM esté numerada.
2. Conceptos de dominio (modelo de negocio)
2.1 Incoterms soportados (Incoterms 2020)
El Incoterm define dónde termina la responsabilidad/costo del vendedor y empieza la del comprador. ConTodo usa el Incoterm para precargar qué conceptos vienen incluidos en el precio del proveedor y cuáles debe agregar el importador.
| Incoterm | Punto de entrega | Flete internacional | Seguro | ¿Quién asume aduana destino? | Uso típico en Perú |
|---|---|---|---|---|---|
| EXW (Ex Works) | Fábrica origen | Comprador | Comprador | Comprador | Poco común; máxima carga al importador |
| FOB (Free On Board) | Buque en puerto origen | Comprador | Comprador | Comprador | El más usado (marítimo, textiles desde Asia) |
| CIF (Cost, Insurance, Freight) | Puerto destino (Callao) | Vendedor | Vendedor | Comprador | Muy usado; flete+seguro incluidos en factura |
| DAP (Delivered At Place) | Almacén destino acordado | Vendedor | Vendedor | Comprador (impuestos) | Courier/aéreo, e-commerce B2B |
Decisión de diseño: el valor en aduana (base imponible) en Perú se determina sobre CIF (Acuerdo de Valoración OMC). Por eso ConTodo, cuando el Incoterm es FOB o EXW, fuerza el registro del flete y seguro antes de permitir numerar la DAM. Si es CIF, los descompone desde la factura comercial.
2.2 Tributos y conceptos de nacionalización (Perú)
| Concepto | Base de cálculo | Tasa referencial | Recuperable | Naturaleza |
|---|---|---|---|---|
| Ad-Valorem | Valor CIF | 0% / 6% / 11% (según subpartida) | No (es costo) | Arancel — va al costo |
| ISC | CIF + Ad-Valorem (selectivos) | Variable | No (gral.) | Impuesto Selectivo al Consumo |
| IGV | CIF + Ad-Valorem + ISC | 16% | Sí (crédito fiscal) | No va al costo |
| IPM | CIF + Ad-Valorem + ISC | 2% | Sí (con el IGV) | Impuesto Promoción Municipal |
| Percepción IGV | CIF + Ad-Valorem + ISC + IGV + IPM | 3.5% / 5% / 10% | Sí (pago a cuenta) | Adelanto — no es costo |
| Derechos antidumping | Según resolución | Variable (USD/kg) | No (es costo) | Defensa comercial — va al costo |
| Gastos de agente de aduana | Valor del servicio | Honorario + IGV | Sí (el IGV) | Servicio — va al costo |
| Gastos portuarios/almacenaje | Tarifa terminal | Variable | Sí (el IGV) | Logística — va al costo |
| Flete interno (puerto→almacén) | Tarifa transporte | Variable | Sí (el IGV) | Logística — va al costo |
Regla de oro implementada: Van al costo del inventario todos los conceptos NO recuperables (Ad-Valorem, ISC, derechos antidumping, flete, seguro, agente, portuarios, almacenaje). NO van al costo el IGV, IPM y Percepción, que son crédito/pago a cuenta. Esta distinción es la causa más común de error de costeo en las PYMEs.
3. Flujo end-to-end de importación
3.1 Máquina de estados del expediente de importación
Decisión arquitectónica: cada transición de estado se persiste con
audit_log(quién, cuándo, documento adjunto S3) y dispara jobs en Sidekiq (notificaciones, alertas de demora en aduana, recálculo de proyección de costo). El expediente vive en una tablaimport_filesconaasm_state, multi-tenant porcompany_id.
4. Modelo de costeo importado (prorrateo)
4.1 Bases de prorrateo soportadas
No todos los gastos se reparten igual. ConTodo permite elegir la base por concepto:
| Concepto a prorratear | Base recomendada | Justificación |
|---|---|---|
| Flete internacional | Peso (kg) o volumen (m³/CBM) | El flete se tarifa por peso/volumen |
| Seguro | Valor FOB | La prima es % del valor asegurado |
| Ad-Valorem | Valor CIF por ítem | Cada subpartida tiene su tasa |
| Gastos de agente | Valor CIF o por bulto | Configurable |
| Almacenaje/portuario | Volumen o peso | Tarifa por contenedor/m³ |
| Flete interno | Peso o volumen | Igual que flete internacional |
Alternativa considerada y descartada: prorratear todo por "cantidad de unidades". Se descartó porque distorsiona el costo cuando se importan ítems de pesos/valores muy distintos (ej. una bobina de tela de 200 kg vs. botones de 0.5 kg). ConTodo permite mezclar bases por concepto, lo que ningún competidor local hace de forma nativa.
4.2 Fórmula del costo unitario nacionalizado
Costo_total_ítem = FOB_ítem
+ flete_prorrateado
+ seguro_prorrateado
+ ad_valorem_ítem
+ isc_ítem
+ antidumping_ítem
+ gastos_agente_prorrateados
+ gastos_portuarios_prorrateados
+ flete_interno_prorrateado
Costo_unitario_nacionalizado = Costo_total_ítem / cantidad_ítem
El IGV, IPM y Percepción se excluyen del costo (van a cuentas 40 — tributos por pagar/crédito).
5. Ejemplo numérico completo
5.1 Escenario
Empresa textil importa desde China dos ítems bajo Incoterm FOB. Tipo de cambio venta SUNAT: S/ 3.75 / USD 1.
| Ítem | Descripción | Cantidad | FOB Unit (USD) | FOB Total (USD) | Peso (kg) | Ad-Valorem |
|---|---|---|---|---|---|---|
| A | Tela polyester (rollos) | 500 | 20.00 | 10,000 | 2,000 | 11% |
| B | Cierres/cremalleras | 10,000 | 0.50 | 5,000 | 500 | 6% |
| Total | 15,000 | 2,500 |
Gastos de importación:
- Flete internacional: USD 1,800 (prorratea por peso)
- Seguro: USD 150 (prorratea por FOB)
- Gastos de agente de aduana: USD 400 (prorratea por CIF)
- Gastos portuarios/almacenaje: USD 300 (prorratea por peso)
- Flete interno (Callao→almacén Lima): USD 200 (prorratea por peso)
5.2 Paso 1 — Prorrateo de flete y seguro
Flete (por peso): factor = 1,800 / 2,500 kg = USD 0.72/kg
- Ítem A: 2,000 kg × 0.72 = USD 1,440
- Ítem B: 500 kg × 0.72 = USD 360
Seguro (por FOB): factor = 150 / 15,000 = 1%
- Ítem A: 10,000 × 1% = USD 100
- Ítem B: 5,000 × 1% = USD 50
5.3 Paso 2 — Valor CIF por ítem (base imponible aduanera)
CIF = FOB + flete + seguro
| Ítem | FOB | Flete | Seguro | CIF (USD) | CIF (S/) |
|---|---|---|---|---|---|
| A | 10,000 | 1,440 | 100 | 11,540 | 43,275.00 |
| B | 5,000 | 360 | 50 | 5,410 | 20,287.50 |
| Total | 15,000 | 1,800 | 150 | 16,950 | 63,562.50 |
5.4 Paso 3 — Cálculo de tributos (en S/)
| Concepto | Ítem A | Ítem B | Total (S/) |
|---|---|---|---|
| CIF (S/) | 43,275.00 | 20,287.50 | 63,562.50 |
| Ad-Valorem (A:11%, B:6%) | 4,760.25 | 1,217.25 | 5,977.50 |
| Base IGV (CIF+AdVal) | 48,035.25 | 21,504.75 | 69,540.00 |
| IGV (16%) | 7,685.64 | 3,440.76 | 11,126.40 |
| IPM (2%) | 960.71 | 430.10 | 1,390.80 |
| Base Percepción (CIF+AdVal+IGV+IPM) | 56,681.60 | 25,375.61 | 82,057.20 |
| Percepción (3.5%) | 1,983.86 | 888.15 | 2,872.00 |
Supuesto: ISC = 0 (textiles no afectos), antidumping = 0, percepción 3.5% (importador con buen historial).
5.5 Paso 4 — Prorrateo de gastos operativos (en S/)
Convertimos a soles: agente USD 400 = S/ 1,500; portuarios USD 300 = S/ 1,125; flete interno USD 200 = S/ 750.
Agente (por CIF): factor = 1,500 / 63,562.50 = 2.3599%
- Ítem A: 43,275 × 2.3599% = S/ 1,021.27
- Ítem B: 20,287.50 × 2.3599% = S/ 478.73
Portuarios (por peso): factor = 1,125 / 2,500 = S/ 0.45/kg
- Ítem A: 2,000 × 0.45 = S/ 900.00
- Ítem B: 500 × 0.45 = S/ 225.00
Flete interno (por peso): factor = 750 / 2,500 = S/ 0.30/kg
- Ítem A: 2,000 × 0.30 = S/ 600.00
- Ítem B: 500 × 0.30 = S/ 150.00
5.6 Paso 5 — Costo total y unitario nacionalizado
| Componente (S/) | Ítem A | Ítem B |
|---|---|---|
| CIF | 43,275.00 | 20,287.50 |
| Ad-Valorem | 4,760.25 | 1,217.25 |
| Gastos agente | 1,021.27 | 478.73 |
| Gastos portuarios | 900.00 | 225.00 |
| Flete interno | 600.00 | 150.00 |
| COSTO NACIONALIZADO TOTAL | 50,556.52 | 22,358.48 |
| Cantidad | 500 | 10,000 |
| COSTO UNITARIO NACIONALIZADO | S/ 101.11 | S/ 2.236 |
Hallazgo clave: el costo unitario del ítem A (S/ 101.11) es 34.8% mayor que el FOB convertido (USD 20 × 3.75 = S/ 75). Una PYME que costea solo con FOB perdería ese margen. El IGV (S/ 11,126.40), IPM (S/ 1,390.80) y Percepción (S/ 2,872.00) NO entran al costo: van a la cuenta 40 como crédito fiscal / pago a cuenta.
6. Integración contable (PCGE)
Asiento referencial al ingreso de mercadería nacionalizada:
| Cuenta PCGE | Descripción | Debe (S/) | Haber (S/) |
|---|---|---|---|
| 60 / 20 | Compras / Mercaderías (costo nacionalizado) | 72,915.00 | |
| 40111 | IGV - Crédito fiscal | 11,126.40 | |
| 40113 | IPM | 1,390.80 | |
| 40118 | Percepciones del IGV (activo) | 2,872.00 | |
| 42 / 46 | Proveedores / Cuentas por pagar diversas | 88,304.20 |
El costo S/ 72,915.00 = 50,556.52 + 22,358.48. Tras el destino contable (clase 9), las existencias quedan valorizadas en el Kardex con costo promedio o PEPS según configuración del tenant.
7. Riesgos, oportunidades y diferenciadores
Riesgos
- Demoras en aduana (canal rojo) inmovilizan caja en almacenaje; ConTodo alerta vía Sidekiq cuando un expediente supera SLA en estado
EnDespacho. - Tipo de cambio: divergencia entre TC de la OCI y TC de la DAM genera diferencia de cambio; debe registrarse en cuenta 67/77, no en el costo.
- Subvaluación aduanera: ConTodo no debe permitir CIF inferior a valores de referencia SUNAT (control configurable).
Oportunidades
- IA predictiva de costo nacionalizado en la etapa de cotización (estimar tributos antes de comprar).
- OCR de DAM y liquidación del agente para autocompletar tributos sin digitación manual.
- Integración SUNAT/Aduanet vía web service para traer el estado del despacho en tiempo real.
Diferenciadores vs. competidores
- Prorrateo multi-base por concepto (peso/volumen/CIF), que Defontana, StarSoft y SISCONT no ofrecen nativamente.
- Bloqueo de valorización hasta numeración de DAM (integridad NIC 2).
- Costeo proyectado en cotización + costeo real al cierre, con variación automática.