Referencia
Objeto Factura
Esquema completo del request POST /v1/invoices con todos los campos, tipos y restricciones.
Objeto Factura
Esquema completo del body para POST /v1/invoices y POST /v1/sandbox/invoices.
Todos los campos están derivados directamente de qapi-backend/src/schemas/invoice.ts.
Los campos numero_acceso y gran_total son calculados por QAPI y nunca deben enviarse.
Si los incluyes, son ignorados y reemplazados por los valores calculados.
Cabecera de la factura
Campos raíz
Prop
Type
Partes involucradas
Emisor
Prop
Type
Receptor
Prop
Type
Dirección
Aplica tanto para emisor.direccion como para receptor.direccion:
Prop
Type
Líneas de la factura
Frase
Prop
Type
Item
Prop
Type
precio_unitario siempre sin IVA
El campo precio_unitario debe ser el precio antes de IVA. QAPI valida que
monto_impuesto = monto_gravable × 0.12 (±0.01). Si envías el precio con IVA incluido,
la validación 7 fallará.
Impuesto
Prop
Type
Campos calculados por QAPI (no enviar)
Ejemplo completo
{
"tipo_dte": "FACT",
"moneda": "GTQ",
"fecha_emision": "2026-06-08T10:00:00-06:00",
"emisor": {
"nit": "12345678",
"nombre": "Mi Empresa S.A.",
"nombre_comercial": "Mi Empresa",
"codigo_establecimiento": 1,
"afiliacion_iva": "GEN",
"direccion": {
"calle": "6a Avenida 1-36 Zona 1",
"municipio": "Guatemala",
"departamento": "Guatemala",
"codigo_postal": "01001",
"pais": "GT"
},
"correo": "facturacion@miempresa.com"
},
"receptor": {
"id": "CF",
"tipo_id": "NIT",
"nombre": "Consumidor Final"
},
"frases": [
{ "tipo_frase": 1, "codigo_escenario": 1 }
],
"items": [
{
"tipo": "S",
"cantidad": 1,
"unidad_medida": "UND",
"descripcion": "Servicio de consultoría",
"precio_unitario": 100.00,
"descuento": 0,
"impuestos": [
{
"nombre": "IVA",
"codigo_unidad_gravable": 1,
"monto_gravable": 100.00,
"monto_impuesto": 12.00
}
]
}
],
"metadata": {
"referencia_interna": "ORD-2026-001",
"cliente_id": "cli_xyz"
}
}