Importes, fechas y formatos
El dinero viaja como texto
Sección titulada «El dinero viaja como texto»{ "cantidad": "2", "precioUnitario": "50.00", "total": "115.00" }Un number de JSON es un flotante binario: 0.1 + 0.2 no da 0.3, y ese
centavo perdido es exactamente el descuadre que el SRI rechaza. Por eso todos
los importes, cantidades y precios entran y salen como texto.
Los límites de precisión son los del esquema del SRI: 2 decimales en
totales e importes, 6 decimales en cantidades y precios unitarios. Más
decimales es un 422 (FACTO-1003).
Los contadores que no son dinero (desde, hasta, limite, plazo en
número de días) sí van como número JSON.
Los totales se calculan solos
Sección titulada «Los totales se calculan solos»Mandas los detalles con cantidad, precio unitario y descuento; facto calcula subtotales por tarifa, IVA y total, cuadrados como los exige el SRI. No mandes totales calculados por tu lado: la fuente de verdad es el detalle.
En los pagos, total sí lo declaras tú — es cuánto se paga por cada forma de
pago, y debe sumar el total del comprobante.
Dos formatos de fecha, con una regla
Sección titulada «Dos formatos de fecha, con una regla»| Formato | Dónde | Ejemplo |
|---|---|---|
dd/mm/aaaa |
Campos fiscales: fechaEmision, el sustento de una nota |
"13/08/2026" |
| ISO 8601 | Instantes técnicos: fechaAutorizacion, creadoEn, venceEn |
"2026-08-13T22:56:17.000Z" |
La regla: si el dato existe en la Ficha Técnica del SRI, va en formato SRI; si es un timestamp del sistema, va en ISO. Es el mismo criterio en toda la API, sin excepciones.
Los catálogos del SRI
Sección titulada «Los catálogos del SRI»Los campos de catálogo usan los códigos de la Ficha Técnica tal cual:
| Campo | Catálogo | Ejemplos |
|---|---|---|
tipoIdentificacion |
Tabla 6 | 04 RUC, 05 cédula, 06 pasaporte, 07 consumidor final |
codigoPorcentajeIva |
Tabla 17 | 0 0 %, 4 15 %, 2 12 % (histórico), 6 no objeto, 7 exento |
formaPago |
Tabla 24 | 01 sin sistema financiero, 20 otros con sistema financiero |
tipoComprobante |
Tabla 3 | 01 factura, 04 nota de crédito, 05 nota de débito, 06 guía, 07 retención |
Mandar un código fuera de catálogo es un 422 con el campo señalado en
errors[]. La tarifa vigente de IVA la resuelve facto por fecha — tú mandas
el código, no el porcentaje.
Identificadores del comprobante
Sección titulada «Identificadores del comprobante»id— UUID interno, el que usas en las rutas de consulta.claveAcceso— los 49 dígitos del SRI. Única para siempre, impresa en el RIDE, y en el esquema offline es también el número de autorización. Todas las consultas tienen variante por clave de acceso (/v1/comprobantes/clave-acceso/{clave}), así que perder elidnunca es fatal.numeroComprobante—001-001-000000123: establecimiento, punto de emisión y secuencial.