SPOT detraction management: payments, SUNAT file and import
Description
SPOT / IGV detraction on vendor bills and customer invoices.
- Computes the SPOT amount from the product detraction percentage.
- Adjusts the amount in the payment wizard, splitting net vs detraction.
- Builds the SUNAT SPOT payment file when confirming batches to Banco de la Nación (BANCPEPL).
- Imports the SUNAT detraction confirmation file.
- Adds detraction code and percentage on the product.
Author
Cloudia
Copyright
Copyright (c) 2025-Present Cloudia Systems S.A.C.
License
OPL-1
Version
18.0.1.0
Dependencies
base
account_batch_payment
l10n_pe_cs_edi
l10n_pe_cs_api_settings
1. Configuration
Product detraction code
Open the product.
On Información General set Código Detracción (SUNAT operation). Porcentaje de Detraccion fills from the official table (example: code 022 Otros servicios empresariales = 12%).
Product ABOGADO: Código Detracción = Otros servicios empresariales, Porcentaje de Detraccion = 12.00.
A bill/invoice becomes SPOT when it has IGV, a withhold percentage > 0 and total at least S/ 700 (converted to PEN). The computed integer SPOT Amount uses round-half-up. Unpaid SPOT amounts in foreign currency are refreshed daily to the current rate.
Vendors that receive SPOT payments need a bank account whose bank BIC is BANCPEPL (Banco de la Nación).
2. User instructions
Pay a SPOT vendor bill
Open the Factura de proveedor and click Pagar.
If company and vendor are RUC, the document is type 01 and the bill is SPOT:
Destination bank BANCPEPL — the amount becomes the pending SPOT in PEN (currency locked).
Any other bank — the amount is residual minus SPOT (you pay the net; detraction is paid separately to Banco de la Nación).
Confirm. On BANCPEPL payments Odoo writes Fecha de detracción and a placeholder detraction number.
All selected bills in a BANCPEPL payment must be vendor bills of the same invoice month.
Pagar wizard on a SPOT vendor bill: Diario, Cuenta bancaria destinataria, Importe.
SPOT file from a batch payment
When you validate/send an outbound batch whose payments all go to BANCPEPL, Odoo attaches a SUNAT text file D{RUC}{yy}{lot}.txt on the batch chatter. Mixed BANCPEPL / other-bank batches are blocked unless an administrator confirms.
Import SUNAT confirmation
Open Contabilidad > Proveedores > Import SPOT Confirmation (live title Confirmar importación SPOT).
Upload the TXT with Sube tu archivo.
Click Importar.
Wizard Confirmar importación SPOT: Archivo, Sube tu archivo, Importar, Cancelar.
Matching vendor bills get Número de detracción and Fecha de detracción from the file (pipe-separated SUNAT layout, 17 columns; the buyer VAT must be this company).
Detracción IGV (SPOT) — Perú
Nombre técnico: l10n_pe_cs_edi_drawdown
Nombre
Detracción IGV (Drawdown) - Perú
Resumen
Gestión de detracciones SPOT: pagos, archivo Sunat e importación
Descripción
Gestión del Sistema de Pago de Obligaciones Tributarias (SPOT / detracción del IGV) en facturas de compra y venta.
- Calcula el monto SPOT según el porcentaje de detracción del producto.
- Ajusta el importe a pagar en el asistente, separando el neto de la detracción.
- Genera el archivo de pago SPOT (formato Sunat) al confirmar lotes hacia Banco de la Nación (BANCPEPL).
- Importa el archivo de confirmación de detracciones de Sunat.
- Agrega código y porcentaje de detracción en la ficha de producto.
Autor
Cloudia
Copyright
Copyright (c) 2025-Present Cloudia Systems S.A.C.
Licencia
OPL-1
Versión
18.0.1.0
Dependencias
base
account_batch_payment
l10n_pe_cs_edi
l10n_pe_cs_api_settings
1. Configuración
Código de detracción del producto
Abra el producto.
En Información General elija Código Detracción (operación SUNAT). Porcentaje de Detraccion se llena con la tabla oficial (ejemplo: código 022 Otros servicios empresariales = 12%).
Producto ABOGADO: Código Detracción = Otros servicios empresariales, Porcentaje de Detraccion = 12.00.
Una factura entra a SPOT si tiene IGV, porcentaje de detracción > 0 y total de al menos S/ 700 (convertido a PEN). El Monto SPOT entero usa redondeo half-up. Los montos SPOT impagos en otra moneda se actualizan cada día al tipo vigente.
Los proveedores que reciben pagos SPOT necesitan una cuenta cuyo BIC del banco sea BANCPEPL (Banco de la Nación).
2. Instrucciones de usuario
Pagar una factura de proveedor SPOT
Abra la Factura de proveedor y pulse Pagar.
Si compañía y proveedor tienen RUC, el documento es tipo 01 y la factura es SPOT:
Banco destino BANCPEPL — el importe pasa a ser el SPOT pendiente en PEN (moneda bloqueada).
Cualquier otro banco — el importe es el residual menos SPOT (paga el neto; la detracción se paga aparte al Banco de la Nación).
Confirme. En pagos BANCPEPL Odoo escribe Fecha de detracción y un número de detracción provisional.
Todas las facturas de un pago BANCPEPL deben ser facturas de proveedor del mismo mes de facturación.
Asistente Pagar en una factura SPOT: Diario, Cuenta bancaria destinataria, Importe.
Archivo SPOT desde un pago por lotes
Al validar/enviar un lote de salida cuyos pagos van todos a BANCPEPL, Odoo adjunta el archivo Sunat D{RUC}{aa}{lote}.txt en el chatter del lote. Un lote mixto BANCPEPL / otros bancos se bloquea salvo confirmación de un administrador.
Importar la confirmación de Sunat
Abra Contabilidad > Proveedores > Import SPOT Confirmation (título en vivo Confirmar importación SPOT).
Suba el TXT con Sube tu archivo.
Pulse Importar.
Asistente Confirmar importación SPOT: Archivo, Sube tu archivo, Importar, Cancelar.
Las facturas de proveedor coincidentes reciben Número de detracción y Fecha de detracción (archivo SUNAT separado por pipes, 17 columnas; el RUC comprador debe ser el de esta compañía).