Documentacin Finanzas

Facturas, documentos y estados: endpoints, parmetros y ejemplos listos para usar.

POST

/apiV2/documentos/facturas Crear factura / documento

Crea un documento de facturacin remoto (Factura, Rectificativa, etc. segn plantilla). Devuelve id, rand y referencia.

Resumen

Auth: Bearer Content-Type: application/json Salida: id, rand, referencia
Tip: el campo id_plantillasFactura controla numeracin, tipo y validaciones.

Autenticacin

CabeceraValorOblig.
AuthorizationBearer {accessToken}S
Content-Typeapplication/jsonS

Requisitos previos

  • El token debe pertenecer a un usuario vlido.
  • La cuenta debe tener facturacin activa (FacturacionUsuarioSettings.activo=true).
  • id_plantillasFactura debe existir y pertenecer al rol.

Body (JSON)

Parmetro Tipo Oblig. Descripcin
id_plantillasFactura int S ID de la plantilla. Determina numeracin, tipo y validaciones.
fecha string No Fecha ISO YYYY-MM-DD. Si no se enva, se usa la fecha del da.
razonSocialstringNoRazn social del cliente.
cifstringNoCIF/NIF.
emailstringNoEmail.
telefonostringNoTelfono.
direccionstringNoDireccin.
codigoPostalstringNoCdigo postal.
poblacionstringNoPoblacin.
provinciastringNoProvincia.
paisstringNoPas ISO-2. Por defecto ES.
ivanumberNoIVA % cabecera. Por defecto 21.
irpfnumberNoIRPF % (puede ser 0).
renumberNoRecargo equivalencia % (puede ser 0).
formaPago string No Texto libre. Si no existe, el sistema puede crearlo automticamente (segn reglas del rol).
ch_pagado boolean No true = pendiente (NO pagado).
false = pagado.
Si no se enva, se asume false.
observacionesstringNoObservaciones del documento.
commentstringNoComentario interno.
detalles array No Listado de lneas. Si no se enva, se crea el documento sin lneas.
detalles[].idintNoSolo en edicin: id de lnea existente.
detalles[].productostringNoReferencia / SKU (si vaco, puede normalizar a -).
detalles[].descstringS*Descripcin (obligatoria si hay lnea).
detalles[].udsnumberNoUnidades (por defecto 1).
detalles[].precionumberNoPrecio neto (recomendado hasta 3 decimales).
detalles[].ivanumberNoIVA % de lnea.
detalles[].dtonumberNoDescuento %.
detalles[].ordennumberNoOrden de lnea (si no, por posicin).
totalIvanumberNoInformativo. El sistema recalcula los totales.
baseImponiblenumberNoInformativo. El sistema recalcula los totales.
* Importante: si envas detalles, cada lnea debe tener al menos desc.

Respuesta esperada (HTTP 200)

{
  "success": true,
  "id": 123,
  "rand": 123456789,
  "referencia": "INV-ES-00001",
  "fecha": "2026-01-01",
  "url": "https://finanzas.z-bombilla.com/...",
  "total": 121,
  "iva": 21,
  "neto": 100,
  "irpf": 0,
  "re": 0,
  "message": "Documento creado correctamente."
}

PUT

/apiV2/documentos/facturas?id={id} Editar documento existente

Edita un documento existente. El id va como query param.

Notas de edicin de lneas

  • Las lneas con detalles[].id se actualizan.
  • Las lneas sin id se crean.
  • Las lneas existentes que no se incluyan en detalles se eliminan.

Errores posibles

  • 400 Bad Request: validaciones fallidas (plantilla, campos requeridos, etc.).
  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 404 Not Found: documento no encontrado o no pertenece al rol.
  • 500 Internal Server Error: error interno.
{
  "success": false,
  "error": "Falta campo obligatorio: id_plantillasFactura"
}

Notas adicionales

  • La numeracin (referencia) y el rand se generan automticamente al crear.
  • Se recomienda enviar precio con decimales (hasta 3) para minimizar redondeos.
GET

/apiV2/documentos Listado paginado de documentos

Devuelve un listado paginado de documentos de facturacin (segn filtros).

Autenticacin

CabeceraValorOblig.
AuthorizationBearer {accessToken}S

Resumen

Filtro: tipo, plantilla, year, pagado? Paginacin: pageNumber / pageSize Orden: orderField / orderDir

Query params

Parmetro Tipo Oblig. Descripcin
tipo string No todos (por defecto) o un valor de Plantilla.TipoDocumento. Ej: FACTURA, RECTIFICACIONES.
idPlantillasFactura int No Filtra por plantilla concreta. Si no se enva, se usan todas las plantillas del tipo/rol.
q string No Bsqueda por texto libre (cliente, email, cif...). Si incluye nmeros, se intenta filtrar tambin por referencia.
pagadobooleanNotrue o false.
yearintNoAo del documento (ej. 2026).
importeMinnumberNoImporte mnimo del total del documento.
importeMaxnumberNoImporte mximo del total del documento.
pageNumberintNoPgina (por defecto 1).
pageSizeintNoTamao de pgina (por defecto 50). Recomendado mximo 100.
orderField string No Campo de ordenacin permitido: id, fecha, referencia, razonSocial, chPagado, totalGrossAmount.
orderDirstringNoASC o DESC (por defecto ASC si no es DESC).

Respuesta (HTTP 200)

Devuelve filas, total y aos disponibles para el conjunto actual (tipo/plantilla).

{
  "rows": [
    {
      "id": 123,
      "pagado": false,
      "numero": "INV-ES-00001",
      "fecha": "01/01/2026",
      "cliente": "Cliente SL",
      "total": "121,00 ?",
      "comment": "Revisar",
      "rand": 123456789
    }
  ],
  "total": 1,
  "yearsAvailable": [2026, 2025, 2024]
}

Errores posibles

  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 400 Bad Request: parmetros invlidos.
  • 500 Internal Server Error: error interno.
{
  "error": "Usuario no autenticado"
}

Notas

  • yearsAvailable est ordenado de ms reciente a ms antiguo.
  • Los campos total y fecha vienen formateados (human friendly).
GET

/apiV2/documentos/years Aos disponibles

Devuelve los aos disponibles para el conjunto actual de documentos (segn tipo y/o idPlantillasFactura).

Autenticacin

CabeceraValorOblig.
AuthorizationBearer {accessToken}S

Query params

ParmetroTipoOblig.Descripcin
tipo string No todos (por defecto) o un valor de Plantilla.TipoDocumento (ej: FACTURA).
idPlantillasFactura int No Si se enva, devuelve los aos disponibles solo para esa plantilla.

Respuesta (HTTP 200)

{
  "yearsAvailable": [2026, 2025, 2024]
}

Errores posibles

  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 400 Bad Request: parmetros invlidos.
  • 500 Internal Server Error: error interno.
{
  "error": "Usuario no autenticado"
}

Notas

  • til para construir selectores de ao en integraciones/ERP.
GET

/apiV2/documentos/plantillas Plantillas disponibles

Devuelve las plantillas activas disponibles para el rol. Puede filtrar por tipo.

Autenticacin

CabeceraValorOblig.
AuthorizationBearer {accessToken}S

Query params

ParmetroTipoOblig.Descripcin
tipo string No todos (por defecto) o un valor de Plantilla.TipoDocumento (ej: FACTURA).

Respuesta (HTTP 200)

{
  "success": true,
  "rows": [
    { "id": 12, "nombre": "Factura Nacional" },
    { "id": 13, "nombre": "Factura UE" }
  ]
}

Errores posibles

  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 400 Bad Request: tipo invlido.
  • 500 Internal Server Error: error interno.
{
  "error": "Usuario no autenticado"
}

Notas

  • til para construir selectores de plantilla en integraciones.
  • Si no se enva tipo, devuelve todas las plantillas activas del rol.
GET

/apiV2/documentos/pendientes/summary Pendientes: resumen

Devuelve un resumen de documentos pendientes (contador y suma de importes) para el rol del token.

Autenticacin

CabeceraValorOblig.
AuthorizationBearer {accessToken}S

Descripcin

  • El resumen se calcula sobre documentos del rol que cumplan la condicin de pendiente segn la lgica de backend.
  • Suele limitarse a plantillas de tipo FACTURA activas (segn implementacin).

Respuesta (HTTP 200)

{
  "count": 5,
  "totalImporte": 1234.56
}

Errores posibles

  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 500 Internal Server Error: error interno.
{
  "error": "Cuenta de facturacin no activa"
}

Notas

  • totalImporte es numrico (no formateado). til para dashboards/KPIs.
POST

/apiV2/documentos/togglePagado Cambiar estado pagado

Alterna el estado pagado (true/false) de un documento dentro del rol del token.

Resumen

Auth: Bearer Parmetro: id (query) Accin: toggle pagado/pendiente
Comportamiento: si estaba pagado ? pasa a pendiente; si estaba pendiente ? pasa a pagado.

Autenticacin

CabeceraValorOblig.
Authorization Bearer {accessToken} S

Parmetros

Parmetro Ubicacin Tipo Oblig. Descripcin
id query int S ID del documento (Factura) a modificar.

Respuesta (HTTP 200)

{
  "success": true,
  "pagado": true
}

Errores posibles

  • 400 Bad Request: id invlido o ausente.
  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 404 Not Found: documento no encontrado o fuera del rol.
  • 500 Internal Server Error: error interno.
{
  "error": "Factura no encontrada"
}

Notas

  • Se registra la accin en el log del sistema.
POST

/apiV2/documentos/updateComment Actualizar comentario

Actualiza el comentario interno (comment) de un documento dentro del rol del token.

Resumen

Auth: Bearer Parmetros: id, comment (query) Uso: notas internas / seguimiento
Nota: el comentario es interno (no necesariamente visible al cliente final).

Autenticacin

CabeceraValorOblig.
Authorization Bearer {accessToken} S

Parmetros

Parmetro Ubicacin Tipo Oblig. Descripcin
id query int S ID del documento.
comment query string No Nuevo comentario (texto libre). Si no se enva o viene vaco, se guarda vaco/null segn implementacin.

Respuesta (HTTP 200)

{
  "success": true
}

Errores posibles

  • 400 Bad Request: id invlido o ausente.
  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 404 Not Found: documento no encontrado o fuera del rol.
  • 500 Internal Server Error: error interno.
{
  "error": "Factura no encontrada"
}

Notas

  • Se registra la accin en el log del sistema.
POST

/apiV2/documentos/delete Eliminar documento

Elimina un documento si cumple las validaciones (rol, presentado, numeracin posterior, etc.).

Resumen

Auth: Bearer Parmetro: id (query) Accin: borra cabecera + lneas
Atencin: puede devolver 409 Conflict si aplica reglas de negocio (presentado o numeracin posterior).

Autenticacin

CabeceraValorOblig.
Authorization Bearer {accessToken} S

Parmetros

Parmetro Ubicacin Tipo Oblig. Descripcin
id query int S ID del documento a eliminar.

Validaciones (resumen)

  • El documento debe existir y pertenecer al rol del token.
  • Si el documento es de tipo FACTURA o RECTIFICACIONES:
    • No puede estar presentado (segn periodoFin en backend).
    • No puede haber documentos posteriores con numeracin mayor en el mismo ao/plantilla.

Respuesta (HTTP 200)

{
  "success": true
}

Errores posibles

  • 400 Bad Request: id invlido o ausente.
  • 401 Unauthorized: token ausente o invlido.
  • 403 Forbidden: facturacin no activa.
  • 404 Not Found: documento no encontrado o fuera del rol.
  • 409 Conflict: no se puede eliminar por reglas de negocio (presentado o numeracin posterior).
  • 500 Internal Server Error: error interno.

Ejemplo de error 409

{
  "error": "No se puede eliminar esta factura porque existen facturas con numeracin posterior en 2026."
}

Notas

  • Se registra la accin en el log del sistema cuando la eliminacin es correcta.
  • Este endpoint elimina tambin las lneas asociadas al documento.