TIP: You can type at any time to perform a new search.
Colombia - Retención en la Fuente
l10n_co_withholding · OCA/l10n-colombia
- Repository
- OCA/l10n-colombia · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Accounting/Localizations
- Folder size
- 0.11 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/l10n-colombia
- Last tracking update
- 2026-09-03 05:25:20
- Authors
- Odoo Community Association (OCA), Juan Arcos
- Maintainers
- Odoo Community Association (OCA), Juan Arcos
- Committers
- GitHub, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Retención en la Fuente para Colombia ===================================== Este módulo implementa el soporte para **retención en la fuente** (RteFte), **ReteIVA** y **ReteICA** en la localización contable de Colombia. La retención en la fuente es el mecanismo mediante el cual el Estado colombiano recauda anticipadamente impuestos a través de los agentes retenedores. Características principales: - **Configuración en la compañía**: Define si la empresa es agente de retención y las retenciones por defecto (RteFte, ReteIVA, ReteICA) - **Clasificación de partners**: Régimen tributario, tipo de persona, gran contribuyente, autorretenedor - **Posiciones fiscales automáticas**: Con mapeo de cuentas para desactivar retenciones según el régimen del proveedor (Régimen Simple, No Contribuyente) - **Impuestos con conceptos**: Cada impuesto de retención tiene asociado un concepto tributario (honorarios, servicios, compras, etc.) - **Cuantías mínimas**: Validación automática de la base mínima en UVT (configurable vía parámetro del sistema) - **Cálculo automático**: Botón "Calcular Retenciones" en facturas que aplica las retenciones según la configuración de la compañía y el partner - **Soporte para ventas y compras**: Aplica retenciones tanto en facturas de proveedor como de cliente - **Integración con factura electrónica**: Los impuestos negativos se reportan correctamente como WithholdingTaxTotal en el EDI UBL
Code Analysis ⓘ
Views touched (9)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form_l10n_co_withholding |
res.config.settings.view.form.l10n_co_withholding | res.config.settings | form | Inherits account.res_config_settings_view_form |
view_l10n_co_reteica_rate_form |
l10n.co.reteica.rate.form | l10n.co.reteica.rate | form | New |
view_l10n_co_reteica_rate_search |
l10n.co.reteica.rate.search | l10n.co.reteica.rate | search | New |
view_l10n_co_reteica_rate_tree |
l10n.co.reteica.rate.tree | l10n.co.reteica.rate | list | New |
view_move_form_l10n_co_withholding |
account.move.form.l10n_co_withholding | account.move | form | Inherits account.view_move_form |
view_partner_form_l10n_co_withholding |
res.partner.form.l10n_co_withholding | res.partner | form | Inherits account.view_partner_property_form |
view_tax_form_l10n_co_withholding |
account.tax.form.l10n_co_withholding | account.tax | form | Inherits account.view_tax_form |
view_tax_group_form_l10n_co_withholding |
account.tax.group.form.l10n_co_withholding | account.tax.group | form | Inherits account.view_tax_group_form |
view_tax_search_l10n_co_withholding |
account.tax.search.l10n_co_withholding | account.tax | search | Inherits account.view_account_tax_search |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (0)
No new fields.
Public methods (5)-
l10n_co_check_min_base(self, tax, base_amount) -
l10n_co_compute_withholding_taxes(self) -
l10n_co_get_applicable_withholding_taxes(self) -
l10n_co_get_withholding_taxes(self, partner, tax_type='purchase') -
l10n_co_remove_withholding_taxes(self, line_ids, withholding_tax_ids)
New fields (5)
-
l10n_co_min_base_uvtFloathelp='Cuantía mínima en UVT para que aplique esta retención. Si la base gravable es inferior, la retención no se aplica.'string='Base Mínima (UVT)' -
l10n_co_withholding_compensates_tax_idMany2one → account.taxhelp='Impuesto de retención de venta que esta contrapartida compensa.'string='Retención Compensada' args: 'account.tax' -
l10n_co_withholding_conceptSelectionhelp='Concepto tributario de la retención en la fuente según el Estatuto Tributario colombiano.'selection=[('honorarios', 'Honorarios'), ('servicios', 'Servicios'), ('comisiones', 'Comisiones'), ('compras', 'Compras'), ('arrendamiento_mueble', 'Arrendamiento Bienes Muebles'), ('arrendamiento_inmueble', 'Arrendamiento Bienes Inmuebles'), ('rendimientos_financieros', 'Rendimientos Financieros'), ('transporte_carga', 'Transporte de Carga'), ('transporte_pasajeros', 'Transporte de Pasajeros'), ('vigilancia', 'Vigilancia y Aseo (AIU)'), ('temporal', 'Servicios Temporales (AIU)'), ('salud', 'Servicios de Salud'), ('hoteles_restaurantes', 'Hoteles y Restaurantes'), ('software', 'Licencias de Software'), ('it_consulting', 'Consultoría TI'), ('obras_inmuebles', 'Obras en Inmuebles'), ('vehiculos', 'Adquisición de Vehículos'), ('inmuebles', 'Bienes Raíces'), ('inmuebles_comerciales', 'Bienes Raíces Comerciales'), ('agricola', 'Bienes Agrícolas'), ('combustibles', 'Combustibles'), ('cafe', 'Café'), ('pagos_exterior', 'Pagos al Exterior'), ('otros', 'Otros')]string='Concepto de Retención' -
l10n_co_withholding_counterpartBooleanhelp='Impuesto positivo que compensa la retención en ventas para que el total de la factura no se reduzca ante la DIAN.'string='Contrapartida de Retención' -
l10n_co_withholding_typeSelectionhelp='Tipo de retención: Renta, IVA o ICA.'selection=[('rte_fte', 'ReteFte (Renta)'), ('rte_iva', 'ReteIVA'), ('rte_ica', 'ReteICA')]string='Tipo de Retención'
-
l10n_co_get_positive_counterpart(self)
New fields (1)
-
l10n_co_withholding_counterpartBooleanhelp='Marca este grupo como el que agrupa las contrapartidas positivas de las retenciones de venta.'string='Grupo de Contrapartida de Retención'
No public methods.
New fields (6)
-
activeBooleandefault=True -
city_idMany2one → res.citycomodel_name='res.city'help='Ciudad/municipio para la cual aplica esta tarifa de ReteICA.'required=Truestring='Ciudad' -
economic_activity_idMany2one → l10n.co.economic.activitycomodel_name='l10n.co.economic.activity'help='Actividad económica CIIU para la cual aplica esta tarifa de ReteICA.'required=Truestring='Actividad Económica' -
min_base_purchases_uvtFloatdefault=27.0digits=(6, 2)help='Base mínima en UVT para aplicar ReteICA en compras.'string='Base Mínima Compras (UVT)' -
min_base_services_uvtFloatdefault=4.0digits=(6, 2)help='Base mínima en UVT para aplicar ReteICA en servicios.'string='Base Mínima Servicios (UVT)' -
rateFloatdigits=(6, 4)help='Porcentaje de retención de ReteICA.'required=Truestring='Tarifa (%)'
-
get_rate_for_partner(self, partner)@api.modelGet ReteICA rate for partner based on city and activity.
New fields (4)
-
l10n_co_default_rte_fte_tax_idsMany2many → account.taxcolumn1='company_id'column2='tax_id'comodel_name='account.tax'domain=[('l10n_co_withholding_type', '=', 'rte_fte')]help='Impuestos de retención en la fuente que se aplican por defecto.'relation='res_company_l10n_co_rte_fte_tax_rel'string='ReteFte por Defecto' -
l10n_co_default_rte_ica_tax_idsMany2many → account.taxcolumn1='company_id'column2='tax_id'comodel_name='account.tax'domain=[('l10n_co_withholding_type', '=', 'rte_ica')]help='Impuestos de retención de ICA que se aplican por defecto.'relation='res_company_l10n_co_rte_ica_tax_rel'string='ReteICA por Defecto' -
l10n_co_default_rte_iva_tax_idsMany2many → account.taxcolumn1='company_id'column2='tax_id'comodel_name='account.tax'domain=[('l10n_co_withholding_type', '=', 'rte_iva')]help='Impuestos de retención de IVA que se aplican por defecto.'relation='res_company_l10n_co_rte_iva_tax_rel'string='ReteIVA por Defecto' -
l10n_co_is_retention_agentBooleanhelp='Indica si la empresa actúa como agente de retención.'string='Agente de Retención'
No public methods.
New fields (4)
-
l10n_co_default_rte_fte_tax_idsMany2manyreadonly=Falserelated='company_id.l10n_co_default_rte_fte_tax_ids'string='ReteFte por Defecto' -
l10n_co_default_rte_ica_tax_idsMany2manyreadonly=Falserelated='company_id.l10n_co_default_rte_ica_tax_ids'string='ReteICA por Defecto' -
l10n_co_default_rte_iva_tax_idsMany2manyreadonly=Falserelated='company_id.l10n_co_default_rte_iva_tax_ids'string='ReteIVA por Defecto' -
l10n_co_is_retention_agentBooleanreadonly=Falserelated='company_id.l10n_co_is_retention_agent'string='Agente de Retención Colombia'
No public methods.
New fields (5)
-
city_idMany2one → res.citycomodel_name='res.city'help='Ciudad/municipio del partner. Se usa para determinar las tarifas de ReteICA aplicables.'string='Ciudad' -
l10n_co_is_authorretenedorBooleanhelp='Indica si el partner es autorretenedor de renta.'string='Autorretenedor' -
l10n_co_is_gran_contribuyenteBooleanhelp='Indica si el partner está calificado como gran contribuyente.'string='Gran Contribuyente' -
l10n_co_is_retention_agentBooleanhelp='Indica si el partner actúa como agente de retención.'string='Agente de Retención' -
l10n_co_tax_regimeSelectionhelp='Régimen tributario del partner para determinar las retenciones aplicables.'selection=[('ordinary', 'Régimen Ordinario'), ('simple', 'Régimen Simple'), ('non_taxpayer', 'No Contribuyente / No Responsable')]string='Régimen Tributario'
No public methods.