Inicio
Bienvenido a la documentación del API de Facturación Electrónica de la empresa NCQ para Costa Rica.
Integradores
Concepto
Un integrador es un sistema que se conecta a este API y genera facturas, notas de crédito, etc, en su propio sistema para un cliente o para multiples clientes. El integrador utiliza este API para enviar los documentos al Ministerio de Hacienda, el API se comunica con el ente gubernamental y hace acciones en nombre del clientes o clientes correspondientes.
Ejemplos de acciones que puede realizar el integrador:
- Envio de un documento electrónico.
- Consulta de la respuesta del Ministerio de Hacienda a sus documentos electrónicos.
- Descarga de los XML firmados generados por el API usando su certificado.
- Descarga de los XML de respuesta enviados por el Ministerio de Hacienda.
Nota importante:
Este API no tiene enlaces abiertos al público, todos requieren autenticación.
¿Cómo puedo crear una cuenta de integración?
Debe contactar al departamento de ventas de la empresa NCQ.
Clientes
Concepto
Un cliente representa una entidad jurídica o física que puede emitir documentos electrónicos.
Hay dos categorias de clientes:
- Cliente directo.
- Cliente bajo integración.
Cliente directo
Un cliente directo es el que interactua con el API sin necesidad de integradores (intermediarios). Puede ser un software que gestione la facturación de una entidad y se comunique directamente con el API para el procesamiento de documentos, pero solamente para su entidad.
Cliente bajo integración
Un cliente bajo integración no es consciente de la interacción con el API, todas sus acciones las realiza directamente con el sistema integrador delegando totalmente sus acciones al integrador.
Autenticación y Seguridad
El API de Facturación Electrónica para Costa Rica utiliza Basic Authentication más un TOKEN único como método de autenticación, esto sobre HTTPS para garantizar la seguridad.
Cada cliente recibirá un AUTH TOKEN que debe enviar en los HTTP Headers de cada request.
Como parte del Basic Authentication se proveerá:
- Usuario
- Contraseña
Ejemplo - POST /api/documents/v4
Endpoint para autenticarse, tanto integradores como cualquier tipo de clientes utiliza este endpoint para pedir un JWT que puede usar en sub siguientes llamadas al API.
Los siguientes headers deben enviarse:
- AuthToken: TOKEN único que enlaza la petición a una configuración de sucursal especifíca.
- Authorization: Header estándar de
Basic Authentication.
Ejemplo de llamada:
curl -X 'POST' \
'https://api44.qupos.com/api/documents/v4' \
-H 'accept: text/plain' \
-H 'AuthToken: TOKEN_UNICO' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic bmNxOk5DUVXXXXXXXXAwNzA1' \
-H 'Content-Type: application/json' \
-d '{
"id_externo" : "56",
"tipo_documento": "01",
"registro_fiscal8707": "123456789112",
"codigo_actividad_emisor": "123456",
"fecha_emision": "2025-05-06T13:00:00",
"clave": "50603042300310140926100200001050000019023171187576",
...
}'
Documentos electrónicos
La facturación electrónica está regulada por el Ministerio de Hacienda bajo la Dirección General de Tributación.
Factura electrónica - 01
- Documento principal que respalda la venta de bienes o la prestación de servicios.
- Es obligatorio para contribuyentes inscritos como emisores electrónicos.
Nota de débito electrónica - 02
- Se usa para aumentar el valor de una factura electrónica previamente emitida.
- Por ejemplo, para cargos adicionales por intereses o servicios posteriores.
Nota de crédito electrónica - 03
- Documento que se utiliza para anular o modificar total o parcialmente una factura o tiquete electrónico.
- Sirve para hacer devoluciones, descuentos, errores en el precio, etc.
Tiquete electrónico - 04
- Se utiliza para ventas al consumidor final.
- No requiere incluir identificación del comprador (aunque puede hacerse opcionalmente).
- Su uso está limitado a montos menores y actividades de venta directa.
Confirmación de aceptación del comprobante electrónico - 05
Es el mensaje electrónico que el receptor (comprador) debe enviar al emisor para aceptar un documento tributario
Confirmación de aceptación parcial del comprobante electrónico - 06
Es el mensaje electrónico que el receptor (comprador) debe enviar al emisor para aceptar parcialmente un documento tributario
Confirmación de rechazo del comprobante electrónico - 07
Es el mensaje electrónico que el receptor (comprador) debe enviar al emisor para rechazar parcialmente un documento tributario
Factura electrónica de compras - 08
Factura electrónica de exportación - 09
Recibo Electrónico de Pago - 10
Validaciones Documentos
Al enviar un documento electrónico, este debe cumplir con las siguientes validaciones:
Tabla de Datos Generales
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
IdExterno | Es el id externo |
|
|
|
|
Clave | Clave del comprobante |
|
|
|
|
CodigoActividadEmisor | Código de la Actividad Económica del Emisor |
|
|
|
|
TipoDocumento | Indica el tipo de documento |
|
|
|
|
RegistroFiscal8707 | Número de Registro Fiscal de bebidas alcohólicas Ley 8707 |
|
|
|
|
CodigoActividadReceptor | Código de la Actividad Económica del Receptor |
|
|
|
|
FechaEmision | Fecha de Emisión del comprobante |
|
|
|
|
Receptor | Receptor del comprobante |
|
|
|
|
CondicionVenta | Condiciones de la venta |
|
|
|
|
CondicionVentaOtros | Detalle Condicion de la Venta OTRO |
|
|
|
|
PlazoCredito | Plazo del crédito |
|
|
|
|
Detalles | Detalle de la mercancía o servicio prestado |
|
|
|
|
OtrosCargos | Otros Cargos |
|
|
|
|
Resumen | Resumen |
|
|
|
|
InformacionReferencia | Información de Referencia |
|
Contenido de la tabla de Datos Generales
Tabla de Receptor
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
Nombre | Es el Nombre |
|
|
|
|
Identificacion | Identificación del receptor |
|
|
|
|
NombreComercial | NombreComercial |
|
|
|
|
Ubicacion | Ubicación |
|
|
|
|
OtrasSenasExtranjero | Otras señas Extranjero |
|
|
|
|
Telefono | Teléfono |
|
|
|
|
CorreoElectronico | Dirección del correo electrónico del receptor |
|
Contenido de la tabla de Receptor
Tabla de Identificación
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
Tipo | Es el tipo |
|
|
|
|
Numero | Número de identificación |
|
Contenido de la tabla de Identificación
Tabla de Ubicación
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
Provincia | Provincia |
|
|
|
|
Canton | Cantón |
|
|
|
|
Distrito | Distrito |
|
|
|
|
Barrio | Barrio |
|
|
|
|
OtrasSenas | Otras señas |
|
|
|
|
OtrasSenasExtranjero | Otras señas Extranjero |
|
Contenido de la tabla de Ubicación
Tabla de Teléfono
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
CodigoPais | Código del País |
|
|
|
|
NumTelefono | Número telefónico |
|
Contenido de la tabla de Teléfono
Tabla de Detalle
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
NumeroLinea | Número de la línea |
|
|
|
|
PartidaArancelaria | Partida Arancelaria |
|
|
|
|
CodigoCABYS | Código de Producto/Servicio |
|
|
|
|
CodigoComercial | Código Comercial |
|
|
|
|
Cantidad | Cantidad |
|
|
|
|
UnidadMedida | Unidad de Medida |
|
|
|
|
TipoTransaccion | Tipo de Transacciones |
|
Contenido de la tabla de Detalle
Tabla de otros Cargos
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
TipoDocumentoOC | Tipo de documento otros cargos |
|
|
|
|
TipoDocumentoOTROS | Tipo de documento OTRO |
|
|
|
|
IdentificacionTercero | Identificación de un Tercero |
|
|
|
|
NombreTercero | Nombre o razón social del Receptor |
|
|
|
|
Detalle | Detalle otros cargos |
|
|
|
|
PorcentajeOC | Porcentaje otros cargos |
|
|
|
|
MontoCargo | Monto del cargo |
|
Contenido de la tabla de otros Cargos
Tabla de Identificación Tercero
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
Tipo | Es el tipo |
|
|
|
|
Numero | Número de identificación |
|
Contenido de la tabla de Identificación Tercero
Tabla de Resumen
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
CodigoMoneda | Código de la Moneda |
|
|
|
|
TipoCambio | Tipo de cambio |
|
|
|
|
MedioPago | Medio de Pago |
|
Contenido de la tabla de Resumen
Tabla de Medio de Pago
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
TipoMedioPago | Tipo de Medio de Pago |
|
|
|
|
MedioPagoOtros | Es el Medio de Pago de Otros |
|
|
|
|
TotalMedioPago | Monto Total por Medio de Pago |
|
Contenido de la tabla de Medio de Pago
Tabla de Información de Referencia
|
|
Campo | Descripción | Validación | Información Adicional |
|---|---|---|---|---|
|
|
TipoDocIR | Tipo de documento de referencia |
|
|
|
|
TipoDocRefOTRO | Tipo de documento de referencia OTRO |
|
|
|
|
Numero | Clave numérica del comprobante electrónico o consecutivo del documento de referencia. |
|
|
|
|
FechaEmisionIR | Fecha de emisión del documento de referencia. |
|
|
|
|
Codigo | Código de referencia |
|
|
|
|
CodigoReferenciaOTRO | Código de referencia OTRO |
|
|
|
|
Razon | Razón de referencia |
|
Contenido de la tabla e Información de Referencia