Módulo: Anticipos y Descuentos Globales Facturación Electrónica Perú (UBL 2.1) - Odoo 18
Este documento contiene la información comercial y técnica necesaria para publicar el módulo en la App Store de Odoo, incluyendo la descripción corta, descripción detallada, beneficios y el manual paso a paso de usuario.
1. Descripción Corta (Short Description)
"Soporte completo de Anticipos y Descuentos Globales en la Facturación Electrónica SUNAT (Perú) para Odoo 18, garantizando la correcta emisión y validación de XML bajo el estándar UBL 2.1."
2. Descripción Larga (Long Description)
Introducción
El módulo Anticipos y Descuentos Globales en la Facturación Electrónica de Perú es la solución definitiva para empresas que requieren emitir facturas y boletas aplicando anticipos recibidos o descuentos a nivel global, cumpliendo estrictamente con la normativa vigente de la SUNAT (estándar UBL 2.1).
Nativamente, el flujo de facturación electrónica de Odoo puede presentar inconsistencias al calcular las bases imponibles e impuestos netos de los anticipos complejos y los descuentos de línea. Este módulo corrige la estructura XML a nivel de base imponible, calcula de forma exacta los tags de prepago (cac:PrepaidPayment), los cargos de descuento (cac:AllowanceCharge), y reestructura los impuestos de IGV para evitar cualquier rechazo por parte del OSE o de la SUNAT.
Características Principales (Funcionalidades)
Gestión de Anticipos Multi-Moneda:
Permite facturar órdenes de venta aplicando anticipos recibidos con anterioridad (tanto en Soles PEN como en Dólares USD).
Descuentos Globales e Individuales Simultáneos:
Soporta la deducción de descuentos globales (a nivel de factura general) y descuentos a nivel de líneas individuales de productos.
Cálculo de Base Imponible Compuesta SUNAT:
Reestructura la base imponible y el IGV final de la factura restando de manera proporcional el monto neto de los anticipos aplicados.
Generación Completa de Nodos UBL 2.1:
- Genera las referencias correctas de los comprobantes de anticipos anteriores (
cac:AdditionalDocumentReferencecon tipo02para facturas y03para boletas). - Renderiza los montos prepagados (
cac:PrepaidPayment). - Inyecta el descuento a nivel de ítem (
cac:AllowanceChargecon código00) utilizando el precio bruto unitario exigido en la fiscalización peruana.
Compatibilidad Absoluta con el Estándar Nativo:
Detecta automáticamente facturas regulares y facturas complejas de anticipos, manteniendo el flujo estándar intacto para transacciones normales sin modificar su estructura original.
Beneficios para el Negocio
Cero Rechazos de SUNAT/OSE
Evita discrepancias de céntimos en redondeos de impuestos de IGV al aplicar anticipos o descuentos globales.
Automatización del Flujo
Vincula de forma fluida el flujo nativo de Ventas (Confirmación de Orden -> Crear Factura de Anticipo -> Factura Final) con el módulo EDI de localización peruana.
Cumplimiento Impecable
Asegura que los precios unitarios declarados correspondan a los precios brutos y que los descuentos se detallen de manera transparente en la factura electrónica.
3. Manual de Usuario (Paso a Paso)
Este manual detalla cómo configurar y utilizar el módulo para emitir comprobantes electrónicos con anticipos y descuentos.
Paso 1: Instalación del Módulo
- Copia la carpeta del módulo
dv_l10n_pe_edi_anticipos_y_descuentos_globalesen el directorio deaddonsde tu servidor Odoo 18. - Inicia sesión en Odoo como Administrador y activa el Modo Desarrollador.
- Ve al menú Aplicaciones y haz clic en Actualizar lista de aplicaciones.
- Busca el módulo por su nombre técnico y haz clic en Instalar.
Paso 2: Configuración de Impuestos (IGV Incluido o Excluido)
El módulo está diseñado para soportar de manera nativa tanto tarifas con impuestos incluidos como excluidos.
- Ve a Contabilidad o Facturación > Configuración > Impuestos.
- Selecciona tu impuesto de IGV 18%.
- En la pestaña de configuración, activa o desactiva la opción Incluido en el Precio según tus políticas de venta habituales.
Paso 3: Flujo de Trabajo para Aplicar Anticipos (Down Payments)
A continuación, se detalla el ciclo completo de venta con dos anticipos y una factura de liquidación final:
1. Creación de la Orden de Venta
- Ve a Ventas > Órdenes > Crear.
- Selecciona al Cliente (con DNI para Boletas o con RUC para Facturas).
- Añade los productos. Por ejemplo:
PARTY JUMPpor un precio deS/ 42.50(IGV incluido) y cantidad20(Total de la orden:S/ 850.00). - Haz clic en Confirmar para convertir el presupuesto en una Orden de Venta.
2. Registro y Emisión del Primer Anticipo (Boleta o Factura de Anticipo)
- Dentro de la Orden de Venta confirmada, haz clic en el botón Crear Factura.
- En la ventana emergente, selecciona Anticipo (monto fijo) (Down Payment (fixed amount)) e ingresa el monto (por ejemplo,
S/ 425.00). - Odoo generará un borrador de factura para el anticipo. Valídalo haciendo clic en Confirmar.
- Se emitirá el comprobante electrónico correspondiente a este anticipo (el cual se registrará ante SUNAT).
3. Registro y Emisión del Segundo Anticipo (Opcional)
Si el cliente realiza otro abono antes de la entrega final:
- Regresa a la Orden de Venta y haz clic nuevamente en Crear Factura.
- Selecciona Anticipo (monto fijo) e ingresa el segundo monto (por ejemplo,
S/ 425.00). - Confirma la factura de este segundo anticipo para enviarla a SUNAT.
4. Emisión de la Factura de Liquidación Final
Cuando procedas a entregar el producto o servicio:
- Regresa a la Orden de Venta y haz clic en Crear Factura.
- Selecciona la opción por defecto: Factura regular (deduciendo anticipos).
- Odoo creará automáticamente una factura final en estado de borrador conteniendo:
- La línea de producto original por el total vendido (
S/ 850.00). - Líneas negativas de deducción de anticipos correspondientes a los anticipos emitidos anteriormente.
- La línea de producto original por el total vendido (
- Haz clic en Confirmar. El módulo reestructurará dinámicamente el XML de la factura electrónica para:
- Declarar la referencia a los comprobantes de los anticipos anteriores (
cac:AdditionalDocumentReference). - Aplicar los descuentos por anticipos mediante las etiquetas de cargos (
cac:AllowanceCharge). - Dejar el saldo final por cobrar en la factura (
PayableAmount) enS/ 0.00(o el remanente si los anticipos no cubrieron el 100%).
- Declarar la referencia a los comprobantes de los anticipos anteriores (
- El comprobante final se enviará exitosamente al OSE/SUNAT sin errores de cálculo.