¿Qué es el módulo de Facturas de Compra?
El módulo CO-001 — Compras / Facturas es el registro central de todas las facturas recibidas de proveedores. Aquí se controlan tanto las compras ingresadas manualmente como las recibidas electrónicamente desde el buzón de Hacienda.
Desde esta pantalla puede ver el historial de compras, filtrar por fechas y proveedor, crear compras manuales, abrir el editor de detalle, y aplicar las compras para que afecten el inventario, la contabilidad y las cuentas por pagar.
Grupos de compras
Cada factura se clasifica en uno de tres grupos según el tipo asignado a la compra:
- Compras (Sujeto IVA) — Mercancía para inventario que genera crédito fiscal IVA. Son los artículos que se revenden o utilizan en producción.
- Gastos (Sujeto IVA) — Servicios y gastos operativos que generan crédito fiscal. Por ejemplo: electricidad, alquiler, servicios profesionales.
- No Sujeto IVA — Compras exentas o exoneradas que no generan crédito fiscal, como medicamentos, alimentos básicos o exportaciones.
Estados de la compra
Cada factura de compra pasa por diferentes estados durante su ciclo de vida. El estado determina qué acciones están disponibles y si el documento puede editarse.
Lista de facturas
La pantalla principal muestra una tabla paginada con todas las compras del período seleccionado. En la parte superior aparece una barra de resumen con los totales agrupados por tipo.
Columnas de la tabla
Notas de crédito de compra (tipo 03)
Si en la lista aparece una fila con fondo rojizo, se trata de una Nota de Crédito de Compra (tipo de documento 03). Sus montos se muestran con signo negativo y se restan del total del período.
Barra de totales inferior
Al pie de la pantalla aparece una barra con los totales de todas las filas que coinciden con el filtro activo (no solo la página visible): Gravado, Exento, Exonerado, SubTotal, IVA y Total.
Selección múltiple
Usando los checkboxes de la tabla puede seleccionar varias compras a la vez. Al seleccionar al menos una, aparece una barra flotante en la parte inferior con las opciones disponibles:
- Confirmar — Genera el MensajeReceptor en Hacienda para las compras electrónicas seleccionadas (estados 0/1).
- Eliminar — Elimina permanentemente las compras seleccionadas (solo estados 0/1).
Buscar y filtrar
La barra de filtros en la parte superior permite acotar la lista a las compras que necesita ver. Todos los filtros se pueden combinar entre sí.
| Filtro | Qué busca |
|---|---|
| Desde / Hasta | Rango de fechas de la factura. Por defecto muestra el día de hoy. |
| Buscar | Búsqueda libre por número de documento, código de proveedor o nombre del proveedor. |
| Estado | Filtra por estado: Sin Confirmar, Borrador, Aplicada, Anulada, Rechazada. |
| Grupo | Filtra por grupo contable: Compras, Gastos o No Sujeto IVA. |
| Tipo Compra | Filtra por el tipo de compra específico según la tabla de tipos configurados. |
| Tipo Doc | Filtra por tipo de documento Hacienda: Factura (01), Nota Débito (02), Nota Crédito (03), etc. |
| Proveedor | Texto libre para buscar por código, nombre comercial o nombre jurídico del proveedor. |
| Bodega | Filtra por la bodega de destino asignada a la compra. |
| Forma Pago | Filtra por la forma de pago registrada (contado, crédito, transferencia, etc.). |
Exportar resultados
Los botones de la barra superior permiten exportar los resultados del filtro activo:
- Excel — Descarga un archivo .xlsx con los datos del período incluyendo totales por columna y datos de la empresa en el encabezado.
- PDF / Imprimir — Abre una vista de impresión optimizada con resumen de totales y la tabla completa en orientación horizontal.
Crear nueva compra manual
Para registrar una factura que no llegó electrónicamente (facturas en papel, facturas de proveedores del exterior, etc.), hay dos formas de acceder al formulario MCO-012:
- Desde el menú principal (recomendado) → Compras → Nueva Compra. Abre el formulario en su propia página. Es la opción que funciona bien también en móvil/tablet.
- Desde la barra superior de la Lista de Compras → botón "Nueva". Abre el formulario como modal sobre el listado (solo en versión escritorio).
Ambas rutas usan el mismo formulario y crean la compra con el mismo flujo. La página independiente es preferible porque funciona en cualquier tamaño de pantalla y no obliga a cargar el listado primero.
Datos requeridos al crear
- Proveedor — Busque por nombre, código o cédula. Debe seleccionar un proveedor activo de la lista. Si el proveedor no existe, debe crearlo primero en el Catálogo de Proveedores.
- Número de factura — Ingrese el número tal como aparece en el documento del proveedor (ej:
001-001-0000000123). Este campo es libre pero debe ser único por proveedor. - Fecha — Por defecto se pone la fecha de hoy. Puede cambiarla a la fecha real del documento.
- Orden de compra — Opcional. Si la compra está relacionada con una orden de compra emitida, indique el número aquí.
- Moneda — Seleccione la moneda del documento. Si es distinta a la moneda nacional, aparecerá el campo de tipo de cambio.
- Tipo de cambio — Solo se muestra si la moneda es extranjera. Ingrese el tipo de cambio del día de la factura.
- Total del documento — Ingrese el total que aparece en la factura del proveedor. Este monto sirve como referencia para verificar el cuadre cuando agregue las líneas.
Al hacer clic en "Crear y abrir editor", el sistema crea la compra en estado 1 (Borrador) y la abre directamente en el editor de detalle (CO-006) para que pueda agregar las líneas de artículos.
Versión móvil
Desde 2026-05-26, el módulo de Lista de Compras tiene una versión móvil dedicada que se activa automáticamente cuando el ancho de la pantalla es de 900 píxeles o menos. Funciona en celular, tablet vertical, o incluso si reducís el tamaño de la ventana del navegador en computadora.
Qué cambia en móvil
- Cada compra se presenta como una tarjeta con: número (últimos 10 dígitos), proveedor, total, fecha y badges de tipo de documento y estado.
- Las Notas de Crédito aparecen con borde rojo y total negativo. Las anuladas se muestran tachadas y atenuadas.
- Los filtros Desde y Hasta se muestran en la misma fila con las etiquetas arriba. El filtro de Estado queda visible por defecto; los demás (proveedor, bodega, forma de pago, etc.) se agregan tocando + Agregar filtro.
- Los totales (Gravado, IVA, Total) quedan fijos al pie de la pantalla mientras navegás. Las Notas de Crédito restan automáticamente.
- Tocás una tarjeta para abrir directamente el editor de la compra (también en versión móvil).
Forzar versión de escritorio
Si querés ver la versión completa de escritorio desde un celular o pantalla angosta, agregá ?desktop=1 al final del URL.
Editar compra (CO-006)
Al hacer doble clic en cualquier fila de la lista (o al crear una nueva compra), se abre el editor de detalle CO-006 en una nueva ventana. Este editor muestra la cabecera de la compra y todas sus líneas de artículos.
Campos editables en la cabecera
- Tipo Compra — Clasifica la factura (mercancía, gasto operativo, servicios, etc.). Requerido antes de aplicar.
- Bodega — Bodega de destino donde se acreditará el inventario al aplicar.
- Forma de Pago — Contado, crédito, transferencia, etc.
- Orden de Compra — Referencia a la orden de compra relacionada.
- Flete — Monto de flete para distribuir proporcionalmente entre las líneas.
Los campos Número, Proveedor, Fecha, Moneda y Tipo de Cambio no son editables después de crear la compra.
Líneas de detalle
Cada línea representa un artículo o servicio de la factura. Las columnas más importantes son:
| Campo | Descripción |
|---|---|
| Tipo | Badge que indica si la línea va a inventario (INV), a gasto (GAS), o sin cuenta asignada (?) |
| Cód. Proveedor | Código del artículo según el catálogo del proveedor |
| Nombre Proveedor | Descripción del artículo según la factura del proveedor |
| Cód. Local | Código del artículo en el inventario propio. Se llena al homologar. |
| Cantidad | Cantidad facturada. Se puede editar. |
| Costo | Costo unitario. Si difiere más del 20% del costo actual en BD, se resalta en rojo. |
| Descuento | Descuento en monto absoluto aplicado a la línea |
| IVA% | Porcentaje de IVA. Los códigos válidos van del 01 al 08. |
| Total | Total de la línea = (Costo × Cant - Descuento) × (1 + IVA%) |
| Cuenta | Cuenta contable para el asiento. Se asigna automáticamente al homologar. |
Badges de tipo de línea
El badge al inicio de cada línea indica cómo se contabilizará ese artículo al aplicar la compra:
- INV Inventario — La cuenta contable comienza con el prefijo de inventario (parámetro 92). El artículo debe estar homologado.
- GAS Gasto — La cuenta contable no es de inventario. Puede ser un servicio o gasto operativo.
- ? Sin cuenta (parpadea en naranja) — La línea no tiene cuenta contable ni código local. Debe homologarla o asignarle una cuenta antes de aplicar.
Barra de totales inferior
Al pie del editor aparecen dos totales:
- Total Calculado — Suma de todas las líneas. Este es el valor real de las líneas ingresadas.
- Total Documento — El total que se indicó al crear la compra. Es solo de referencia y nunca se modifica automáticamente.
- Diferencia — Si esta diferencia supera la tolerancia configurada (generalmente ₡1.00 o 0.1%), el sistema bloqueará la aplicación hasta que se corrija.
Distribución de flete
Si la factura incluye flete, ingréselo en el campo "Flete" de la cabecera y luego use el botón "Distribuir Flete". El sistema distribuye el monto proporcionalmente entre todas las líneas según su monto total, asegurando que no haya diferencias de redondeo.
Campos avanzados (medicamentos)
Para empresas farmacéuticas, cada línea tiene 4 campos adicionales: Lote, Fecha de Vencimiento, Forma Farmacéutica y Registro Sanitario (Reg. Medicamento).
En el header del bloque "Líneas de compra" hay un checkbox global "Mostrar datos avanzados". Al marcarlo, esos 4 campos aparecen dentro de cada ficha de artículo (pegados a la línea principal con fondo gris claro). Al desmarcarlo se ocultan — la preferencia es por sesión, no se guarda al salir del módulo.
Homologar artículos
La homologación es el proceso de relacionar el código de artículo del proveedor con el código de artículo en el inventario propio. Es fundamental para que al aplicar la compra, el sistema actualice el stock y los costos correctamente.
¿Por qué es necesario?
Cada proveedor tiene su propio catálogo con códigos que no coinciden con los códigos locales. Por ejemplo, el proveedor llama "LP-500-CPS" a lo que en el inventario propio es "MED-00123". Sin la homologación, el sistema no sabe a qué artículo local corresponde cada línea.
Cómo homologar una línea
- En el editor de compra, ubique la columna Cód. Local de la línea que tiene el badge ?.
- Si conoce el código exacto, escríbalo y presione Enter. El sistema busca el artículo directamente.
- Si no conoce el código, escriba parte del nombre y presione Enter. Se abrirá el buscador de artículos donde puede buscar por nombre, código o CABYS.
- Al seleccionar el artículo, el sistema llena automáticamente el nombre local, asigna la cuenta contable y cambia el badge a INV o GAS.
- La relación entre el código del proveedor y el código local queda guardada en la tabla de homologación. En futuras compras del mismo proveedor, las líneas ya vendrán homologadas automáticamente.
Crear artículo desde línea no homologada (MCO-003)
Si el artículo no existe en el inventario (es un producto nuevo), puede crear el artículo directamente desde la línea. Haga clic en el botón verde + que aparece junto al campo Cód. Local cuando la línea no está homologada.
El formulario de creación se pre-llena con el nombre del proveedor, el código CABYS y la tarifa de IVA de la línea.
Categoría y Subcategoría como texto libre
A partir de mayo 2026, Categoría y Subcategoría son campos de texto libre en lugar de selects. Puede:
- Escribir texto nuevo directamente (ej. "BEBIDAS", "GASEOSAS"). El sistema acepta hasta 60 caracteres y guarda en mayúsculas.
- Escoger de una lista de las categorías ya existentes en su catálogo (autocomplete al escribir).
Ya no se generan códigos de 3 dígitos para categoría/subcategoría — los nombres se guardan tal cual.
Sugerir Categoría con IA
El botón "Sugerir Categoría con IA" analiza el nombre del artículo (y el CABYS si está disponible) usando inteligencia artificial y propone una categoría + subcategoría apropiadas. Si su catálogo ya tiene categorías similares, la IA reúsa los nombres existentes; si no, propone nuevas siguiendo el patrón de su catálogo. Los valores propuestos se cargan directamente en los campos para que los pueda revisar antes de confirmar.
Código del artículo
Si deja el campo Código vacío, el sistema genera un consecutivo lineal (botón Lineal) y verifica que no exista. Si prefiere un código específico, escríbalo manualmente.
Al confirmar, el artículo se crea y la línea queda homologada en un solo paso.
Catálogo de homologación (MCO-012)
Puede ver y editar todas las relaciones de homologación del proveedor desde el menú Opciones → Catálogo de homologación. Esto permite corregir relaciones incorrectas o agregar homologaciones sin necesidad de tener una compra abierta.
Aplicar compra (MCO-007)
Aplicar una compra es el momento en que la factura deja de ser borrador y empieza a producir efectos en el sistema: entra el inventario, se actualiza el costo de los artículos, se genera el asiento contable y se le debe pagar al proveedor. Por eso el sistema corre antes una lista de validaciones — para que aplicar sea un paso seguro y reversible solo con permiso especial.
Al presionar el botón Aplicar en el editor de compra, se abre el modal MCO-007 que muestra paso a paso lo que va sucediendo. Cada línea verde es un paso completado; si algo falla, el modal se detiene en ese punto con el mensaje de error y la compra no queda aplicada.
Fase 1 — Validaciones (antes de tocar nada)
El sistema ejecuta una serie de chequeos. Si cualquiera de ellos falla, la compra queda intacta como borrador. Solo se pasa a la Fase 2 cuando todas las validaciones pasan.
-
1Leer la compraCarga la cabecera (proveedor, fecha, total, moneda, tipo de cambio, bodega de destino, tipo de documento) y las líneas de detalle. Si no encuentra el documento, se detiene.
-
2Validar Tipo de CompraEl campo "Tipo Compra" en la cabecera no puede estar vacío ni en "00". Define cómo se contabilizará y si entra a inventario o a gasto.
-
3Validar EstadoSolo se aplican compras en estado 0 (Sin confirmar) o 1 (Borrador). Si la compra ya está Aplicada, Anulada o Rechazada, se detiene.
-
4Permiso 552El usuario debe tener el permiso "Aplicar Compras". Sin él, no avanza.
-
4cCuadre de totalesSuma todas las líneas (monto + flete prorrateado) y la compara contra el total del documento. Si difiere por menos de ₡100 (proporcional si es moneda extranjera) auto-sincroniza el total. Si difiere por más, bloquea con un mensaje detallado.
-
4fIdentificación de líneasSi hay FE activa, las líneas sin código local deben traer Código Proveedor y Nombre Proveedor (el XML los necesita como respaldo fiscal). Para compras tipo 08 (FEC) y tipo de compra de inventario, todas las líneas deben estar homologadas; los gastos (tipos 02, 03, 04, 09) tienen homologación opcional.
-
4f-cabysCABYS obligatorioCon FE activa, cada línea debe tener un código CABYS de exactamente 13 dígitos. Es el clasificador oficial de bienes y servicios que exige Hacienda.
-
4gActividad Económica del emisorCon FE activa, la cabecera debe indicar la actividad económica del proveedor. Se elige al editar la compra; si está vacía, el sistema la toma del proveedor.
-
4hCódigos locales válidosSi una línea tiene código local, ese código debe existir en el catálogo de artículos. Si está mal escrito o el artículo fue borrado, el sistema obliga a corregirlo.
-
4i-1Cuenta contable en cada líneaCada línea debe tener cuenta contable. La cuenta determina si la línea va a inventario o a gasto.
-
4i-2Cuenta de inventario ↔ artículo homologadoSi la cuenta de la línea es de inventario (prefijo del Param 92), obligatoriamente debe tener un artículo local. No tiene sentido aumentar inventario sin saber a cuál artículo. El sistema obliga a homologar o a cambiar la cuenta a gasto.
Fase 2 — Aplicación efectiva (cambia datos)
Cuando todas las validaciones pasan, el sistema empieza a modificar los datos. Cada paso queda registrado en bitácora.
-
5Foto de costos (snapshot)Calcula el nuevo costo que tendrá cada artículo después de la compra: promedio ponderado, último, bruto. Lo guarda en
CompraHijaResumencomo una "foto" antes de tocar el catálogo. Si la empresa incluye IVA en el costo (Param 30=1), se incluye. Si hay artículos con 100% bonificación se anotan aparte (no afectan promedio). -
6Actualizar costos y preciosPor cada artículo de la foto:
(a) guarda los nuevos costos en el catálogo (Articulos: Promedio, Último, Bruto, DBCosto).
(b) actualiza el costo de cada nivel de precio enArticuloPrecios, convirtiendo de moneda si hace falta.
(c) recalcula los precios marcados como "Auto" usando el margen guardado. Los precios "Manual" se mantienen tal cual.
(d) aplica el redondeo configurado por nivel (sobre el Neto).
(e) sincroniza con empresas externas si está habilitado (Param 239). -
7InventarioInserta los movimientos de entrada en
InventarioMovimientocon tipo FCO (Factura de Compra) sobre la bodega de destino indicada en la cabecera. Si la compra ya tenía movimientos por una aplicación previa parcial, los detecta y omite duplicados. -
7bLotes (si aplica)Si alguna línea tiene número de lote y/o fecha de vencimiento, registra la entrada en el control de lotes (
EntradaLoteOrigen) ligando lote → cantidad → vencimiento. -
8Asiento contableGenera un asiento en el diario contable. Tipo FCO para compras normales, CND para Notas de Débito, CNC para Notas de Crédito.
Débitos: cuentas de inventario y/o gasto de cada línea + cuenta de IVA crédito fiscal.
Créditos: cuenta del proveedor (CxP).
Si el asiento ya existía por una aplicación previa, se omite. -
8bBackfill de CABYSSi la compra trae CABYS válido en líneas y los artículos del catálogo no lo tienen registrado (o lo tienen incompleto), copia el CABYS al artículo. Sirve para no andar capturándolo a mano cuando recibimos varias facturas del mismo producto.
-
9Marcar como AplicadaCambia el estado de la compra a 2 (Aplicada). A partir de aquí ya no se puede editar; cualquier corrección requiere reversar primero.
-
10Registrar en Cuentas por PagarCrea el documento CxP con el total de la factura, la fecha de la compra y el plazo de crédito del proveedor. Aparecerá en CxP listo para programar el pago. Si el documento CxP ya existía (por reaplicación), se omite.
-
11Generar XML Hacienda (solo tipo 08)Cuando la compra es Factura Electrónica de Compra (FEC, tipo 08) — el caso de proveedor extranjero o régimen simplificado, donde la propia empresa emite el comprobante — el sistema arma el XML, lo firma y lo envía a Hacienda. Para compras tipo 01 (factura normal del proveedor) este paso no aplica.
Variantes según el tipo de documento
El flujo descrito arriba aplica para una compra normal (tipo 01). Hay tres variantes con diferencias importantes:
Compra simplificada / FEC (tipo 08)
Es la factura electrónica que genera la empresa en lugar del proveedor (típicamente compras a régimen simplificado o a proveedor extranjero). Antes de los pasos estándar, el sistema asigna un consecutivo oficial 08 (paso 4b) y al final agrega el paso 11 que envía el XML a Hacienda.
Nota de Crédito de Compra (tipo 03)
El proveedor reduce un cargo previo (devolución, descuento, anulación). Pasa por las mismas validaciones, pero con efectos invertidos:
-
5-6Costeo y precios — omitidosLa NC no recalcula costo promedio ni toca precios de venta. Solo afecta inventario y contabilidad.
-
7Inventario en negativoRebaja las cantidades de la bodega (devolución al proveedor). Movimiento tipo NCC.
-
8Asiento inverso (CNC)Debita al proveedor y acredita inventario/gasto + IVA. Es el espejo del asiento de la compra original.
-
10Saldo a favorEn vez de crear una nueva CxP, registra el monto como saldo a favor con el proveedor. Si la empresa ya tenía deuda pendiente con ese proveedor por al menos el monto de la NC, el sistema aplica automáticamente la NC contra esa deuda (saldo se cancela).
Nota de Débito de Compra (tipo 02)
El proveedor agrega un cargo (intereses, ajuste por diferencia cambiaria, etc.). El flujo es el mismo que una compra normal, pero genera un asiento CND.
"Diferencia de X CRC entre el total calculado y el del documento" → revisar montos línea por línea. Suele pasar cuando el proveedor cobró diferente a lo digitado o falta el flete.
"N línea(s) sin homologar" → ir línea por línea con el ícono Homologar y elegir el artículo del catálogo (o crearlo).
"N línea(s) sin CABYS" → editar cada línea y completar el CABYS de 13 dígitos.
"Actividad económica del emisor requerida" → en la cabecera, abrir el selector "Act. Emisor" y elegir la actividad correcta del proveedor.
Sub-módulo: Compras Contabilizadas
El sub-módulo de Compras Contabilizadas es una vista especializada para el departamento de contabilidad. Muestra las compras ya aplicadas (estado 2) junto con la información de sus asientos contables.
¿Para qué sirve?
- Revisar que todas las compras del período tengan asiento contable generado.
- Verificar que los montos contabilizados coinciden con los montos de la factura.
- Conciliar el libro de compras con el módulo de contabilidad.
- Identificar compras aplicadas pero sin asiento (situación de error que requiere corrección).
Diferencia con la lista principal
Mientras la lista principal CO-001 muestra todas las compras independientemente del estado, el sub-módulo de Contabilizadas filtra solo las del estado 2 (Aplicadas) y las enriquece con el número de asiento, la fecha del asiento y los totales según el diario contable.
Consejos y errores comunes
Consejos de uso
- Revise las compras con badge ? parpadando antes de fin de mes para no tener compras sin homologar que afecten el inventario.
- Si la columna V muestra un ícono rojo, abra la compra y revise si hay líneas con cálculos incorrectos. El editor las resaltará automáticamente.
- Use el botón "Distribuir Flete" siempre que la factura incluya flete. Distribuirlo manualmente puede generar diferencias de redondeo.
- Para compras en dólares, verifique que el tipo de cambio sea el del día de la factura, no el de hoy. Esto afecta el costeo en colones.
- Si va a aplicar varias compras del mismo proveedor, aplíquelas de la más antigua a la más reciente para que el costo promedio ponderado sea correcto.
Errores comunes
Permisos del módulo
Los permisos controlan qué acciones puede realizar cada usuario en el módulo de facturas de compra (CO-001). Se asignan al grupo de usuarios desde el módulo de Seguridad (SE-001).
| Código | Nombre | Qué autoriza | Dónde aplica |
|---|---|---|---|
558 |
Compras — Ver facturas | Acceso al listado de facturas de compra (CO-001) y al módulo de contabilizadas. Sin este permiso, el módulo no aparece en el menú. | CO-001, Contabilizadas |
552 |
Compras — Aplicar | Permite aplicar una compra (registrar en inventario y contabilidad) y revertirla a estado borrador. Es el permiso más crítico del flujo de compras. | CO-001, editar_compra |
013 |
Ver costos | Muestra el costo unitario de los artículos dentro del editor de compra. Sin este permiso, la columna de costo queda oculta. | editar_compra |
Parámetros de empresa
Los parámetros son valores globales por empresa que afectan el comportamiento del módulo. Se configuran desde Configuración → Parámetros (CF-004).
| Código | Nombre | Qué controla | Valores |
|---|---|---|---|
125 |
Facturación Electrónica activa | Indica si la empresa usa FE con Hacienda. Si está activo (1), al aplicar una compra electrónica se genera el XML de aceptación/rechazo tipo 08. Si no (0), no se genera XML. | 1 = con FE / 0 = sin FE |
92 |
Cuenta Contable CxP por defecto | Código de cuenta contable de Cuentas por Pagar que se asigna automáticamente al aplicar una compra de crédito cuando el proveedor no tiene cuenta específica. | Código de cuenta (ej: 210401) |
87 |
Cuenta CxP Compras | Cuenta contable al HABER para registrar la deuda con el proveedor al aplicar una compra de crédito. | Código de cuenta contable |
249 |
Moneda nacional de la empresa | Código de moneda base (ej: CRC). Usado para conversiones al aplicar compras en moneda extranjera. | Código ISO (ej: CRC) |