"1") al Ministerio de Hacienda a través del API.
Requiere un receptor con identificación válida (cédula física, jurídica, DIMEX
o NITE).
Request
POST https://{empresa}.mipos.co.cr/api/enviar/items
Campos principales
string
required
Número de identificación del emisor registrado.
integer
required
Número consecutivo de referencia del documento.
string
required
Código de actividad económica del emisor (ej:
"6201.0").string
required
Tipo de documento. Para factura electrónica:
"1".string
required
Tipo de folio. Siempre
"INVOICE".string
required
Fecha y hora de emisión en formato ISO 8601.
Receptor
object
required
Datos del receptor del documento.
Show Propiedades
Show Propiedades
Detalle del servicio
array
required
Líneas de detalle del documento.
Show Propiedades de cada línea
Show Propiedades de cada línea
integer
required
Número consecutivo de la línea (inicia en 1).
string
required
Código CABYS del producto o servicio.
string
required
Descripción del producto o servicio.
number
required
Cantidad del producto o servicio.
string
required
Unidad de medida (ej:
"Unid", "Os", "Sp").string
Unidad de medida comercial.
string
required
Precio unitario del producto.
string
required
Subtotal de la línea (cantidad x precio unitario).
string
Monto de descuento aplicado.
"0.00" si no hay descuento.string
required
Monto total de la línea antes de impuestos.
number
required
Monto neto de impuesto de la línea.
number
required
Monto total de la línea incluyendo impuestos.
array
Otros cargos (opcional)
array
Resumen de factura
object
required
Resumen totales del documento.
array
required
string
Total de otros cargos.
curl -X POST https://{empresa}.mipos.co.cr/api/enviar/items \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"emisor": "3102955154",
"numeroReferencia": 10,
"codigoActividad": "6201.0",
"tipoDoc": "1",
"receptor": {
"nombre": "JUAN PEREZ GARCIA",
"telefono": "50688881234",
"identificacion": {
"tipo": "01",
"numero": "504300485"
},
"correoElectronico": "cliente@ejemplo.com"
},
"folioType": "INVOICE",
"otrosCargos": [
{
"detalle": "911",
"montoCargo": "165.90",
"porcentaje": "0.75",
"nombreTercero": "911",
"tipoDocumento": "99"
}
],
"fechaEmision": "2024-08-23T10:30:00-06:00",
"resumenFactura": {
"codigoTipoMoneda": {
"codigoMoneda": "CRC"
},
"mediosPago": [
{
"tipoMedioPago":"01",
"totalMedioPago":"20000.00"
},
{
"tipoMedioPago":"06",
"totalMedioPago":"5160.90"
}
],
"totalOtrosCargos": "165.90"
},
"detalleServicio": [
{
"codigo": "8421000000000",
"detalle": "INTERNET RESIDENCIAL 200 MBPS",
"cantidad": 1.0,
"impuesto": [
{
"monto": "2875.53",
"codigo": "01",
"tarifa": "13",
"codigoTarifa": "08"
}
],
"subTotal": "22119.47",
"descuento": "0.00",
"montoTotal": "22119.47",
"numeroLinea": 1,
"impuestoNeto": 2875.53,
"unidadMedida": "Os",
"precioUnitario": "22119.47",
"codigoComercial": [
{
"tipo": "04",
"codigo": "I_INT"
}
],
"montoTotalLinea": 24995.0,
"unidadMedidaComercial": "Os"
}
]
}'
$ch = curl_init('https://{empresa}.mipos.co.cr/api/enviar/items');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer ' . $token,
],
CURLOPT_POSTFIELDS => json_encode([
'emisor' => '3102955154',
'numeroReferencia' => 10,
'codigoActividad' => '6201.0',
'tipoDoc' => '1',
'receptor' => [
'nombre' => 'JUAN PEREZ GARCIA',
'telefono' => '50688881234',
'identificacion' => [
'tipo' => '01',
'numero' => '504300485',
],
'correoElectronico' => 'cliente@ejemplo.com',
],
'folioType' => 'INVOICE',
'fechaEmision' => date('c'),
'resumenFactura' => [
'codigoTipoMoneda' => ['codigoMoneda' => 'CRC'],
],
'detalleServicio' => [
[
'codigo' => '8421000000000',
'detalle' => 'INTERNET RESIDENCIAL 200 MBPS',
'cantidad' => 1.0,
'precioUnitario' => '22119.47',
'subTotal' => '22119.47',
'montoTotal' => '22119.47',
'descuento' => '0.00',
'numeroLinea' => 1,
'unidadMedida' => 'Os',
'impuestoNeto' => 2875.53,
'montoTotalLinea' => 24995.0,
'impuesto' => [
[
'codigo' => '01',
'codigoTarifa'=> '08',
'tarifa' => '13',
'monto' => '2875.53',
],
],
],
],
]),
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
const response = await fetch("https://{empresa}.mipos.co.cr/api/enviar/items", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${token}`,
},
body: JSON.stringify({
emisor: "3102955154",
numeroReferencia: 10,
codigoActividad: "6201.0",
tipoDoc: "1",
receptor: {
nombre: "JUAN PEREZ GARCIA",
telefono: "50688881234",
identificacion: { tipo: "01", numero: "504300485" },
correoElectronico: "cliente@ejemplo.com",
},
folioType: "INVOICE",
fechaEmision: new Date().toISOString(),
resumenFactura: {
codigoTipoMoneda: { codigoMoneda: "CRC" },
},
detalleServicio: [
{
codigo: "8421000000000",
detalle: "INTERNET RESIDENCIAL 200 MBPS",
cantidad: 1.0,
precioUnitario: "22119.47",
subTotal: "22119.47",
montoTotal: "22119.47",
descuento: "0.00",
numeroLinea: 1,
unidadMedida: "Os",
impuestoNeto: 2875.53,
montoTotalLinea: 24995.0,
impuesto: [
{ codigo: "01", codigoTarifa: "08", tarifa: "13", monto: "2875.53" },
],
},
],
}),
});
const data = await response.json();
import requests
from datetime import datetime
response = requests.post(
'https://{empresa}.mipos.co.cr/api/enviar/items',
headers={'Authorization': f'Bearer {token}'},
json={
'emisor': '3102955154',
'numeroReferencia': 10,
'codigoActividad': '6201.0',
'tipoDoc': '1',
'receptor': {
'nombre': 'JUAN PEREZ GARCIA',
'telefono': '50688881234',
'identificacion': {'tipo': '01', 'numero': '504300485'},
'correoElectronico': 'cliente@ejemplo.com',
},
'folioType': 'INVOICE',
'fechaEmision': datetime.now().isoformat(),
'resumenFactura': {
'codigoTipoMoneda': {'codigoMoneda': 'CRC'},
},
'detalleServicio': [
{
'codigo': '8421000000000',
'detalle': 'INTERNET RESIDENCIAL 200 MBPS',
'cantidad': 1.0,
'precioUnitario': '22119.47',
'subTotal': '22119.47',
'montoTotal': '22119.47',
'descuento': '0.00',
'numeroLinea': 1,
'unidadMedida': 'Os',
'impuestoNeto': 2875.53,
'montoTotalLinea': 24995.0,
'impuesto': [
{'codigo': '01', 'codigoTarifa': '08', 'tarifa': '13', 'monto': '2875.53'},
],
},
],
},
)
data = response.json()
{
"status": "success",
"message": "Documento enviado correctamente",
"clave": "50628032600310295515400100001010000000010146404019"
}
{
"error": "bad_request",
"message": "Campos requeridos faltantes"
}
{
"error": "unauthorized",
"message": "Token inválido o expirado"
}