## SPFE - Facturas recibidas

`GET`  https://{entorno}.ticketbaiws.eus/spfe-recibidas/

La **Ley 18/2022 «Crea y Crece»**  (desarrollada por el RD 238/2026 y la Orden HAC/1028/2026) obliga a expedir las facturas entre empresas y profesionales en formato electrónico y a informar de su estado: **pago, cobro, rechazo o impago** . Ticketbai WS envía automáticamente a la **Solución Pública de Facturación Electrónica (SPFE) de la AEAT**  las facturas completas a clientes españoles con NIF que emites con el API, en formato UBL, y descarga las facturas que recibes de tus proveedores.

Estos métodos solo están disponibles para las empresas que tienen activado el envío a la SPFE. Se activa en los datos de la empresa del área privada (**Factura electrónica B2B** ) o con el parámetro **spfe**  de los métodos [Nueva empresa](https://ticketbaiws.eus/es/empresas-post/) y [Editar datos empresa](https://ticketbaiws.eus/es/empresas-put/). Al activarlo se envían las facturas desde ese día.

Devuelve las facturas que tu empresa ha recibido de sus proveedores a través de la SPFE. Ticketbai WS las consulta y descarga de la AEAT automáticamente cada hora, junto con su estado (si ya se ha comunicado su pago o su rechazo).

Para sincronizar tu programa, guarda el **id**  más alto recibido y en la siguiente llamada pásalo en **desde_id** : obtendrás solo las facturas nuevas, de la más antigua a la más reciente. Para comunicar el pago o el rechazo de una factura usa [POST spfe-estados](https://ticketbaiws.eus/es/spfe-estados-post/) con sus campos **factura** , **fecha_factura** , **nif_emisor**  y **nombre_emisor** .

**Autorización:**  la AEAT solo permite consultar las facturas recibidas a la propia empresa o a un apoderado. Ticketbai WS realiza la consulta con el certificado electrónico cargado en la ficha de la empresa. Si no hay certificado, está caducado o la AEAT lo indica como revocado, la respuesta lo avisa en **msg** .

**Los métodos GET permiten el envío de los parámetros en el body como payload JSON o mediante query string en la URL como se ve en el ejemplo cURL.**

### Parámetros

- `desde_id` (integer, opcional): Solo facturas con id mayor que este, en orden ascendente. Para recoger las nuevas desde la última consulta. Ejemplo: `56`
- `id` (integer, opcional): Una factura concreta. Ejemplo: `57`
- `estado` (string, opcional): **pendiente** , **pagada**  o **rechazada**. Ejemplo: `pendiente`
- `nif_emisor` (string, opcional): Facturas de un proveedor. Ejemplo: `B01000012`
- `factura` (string, opcional): Serie y número de la factura. Ejemplo: `F2026-0153`
- `desde` (string, opcional): Fecha de factura desde, en formato dd/mm/yyyy. Ejemplo: `01/11/2026`
- `hasta` (string, opcional): Fecha de factura hasta, en formato dd/mm/yyyy. Ejemplo: `30/11/2026`
- `limite` (integer, opcional): Número máximo de facturas. Por defecto 100, máximo 500. Ejemplo: `100`
- `ubl` (boolean, opcional): true para incluir en cada factura el XML UBL completo tal como lo entrega la AEAT. Ejemplo: `false`

**RESPUESTA (return, una fila por factura)**

- `id` (integer, Identificador de la factura recibida en Ticketbai WS) Ejemplo: `57`
- `factura` (string, Serie y número de la factura) Ejemplo: `F2026-0153`
- `fecha_factura` (string, Fecha de expedición (dd/mm/yyyy)) Ejemplo: `03/11/2026`
- `tipo_factura` (string, Código de tipo de factura UBL: 380 factura, 381 abono, 384 rectificativa, 389 autofactura, 386 anticipo) Ejemplo: `380`
- `copia` (boolean, Es una copia de la factura) Ejemplo: `false`
- `nif_emisor / nombre_emisor` (string, Proveedor que emite la factura) Ejemplo: `B01000012`
- `base / cuota / total` (number, Base imponible, cuota de IVA y total a pagar) Ejemplo: `302.5`
- `vencimiento` (string, Fecha de vencimiento (dd/mm/yyyy) o null) Ejemplo: `03/12/2026`
- `estado` (string, **pendiente** , **pagada**  o **rechazada**) Ejemplo: `pendiente`
- `localizador` (string, Localizador de la factura en la SPFE)
- `fecha_descarga` (string, Fecha en la que Ticketbai WS la descargó de la AEAT) Ejemplo: `04/11/2026 10:05:12`
- `ubl` (string, XML UBL de la factura (solo con ubl=true))

**GET** `https://{entorno}.ticketbaiws.eus/spfe-recibidas/`

```bash
$ curl --request GET \
     --url 'https://api-test.ticketbaiws.eus/spfe-recibidas/?desde_id=56' \
     --header 'Accept: application/json' \
     --header 'Token: xxx' \
     --header 'Nif: 00000014Z'
```

Respuesta:

```json
HTTP/1.1 200 OK
{
    "result": "OK",
    "return": [
        {
            "id": 57,
            "factura": "F2026-0153",
            "fecha_factura": "03\/11\/2026",
            "tipo_factura": "380",
            "copia": false,
            "nif_emisor": "B01000012",
            "nombre_emisor": "Empresa de ejemplo S.L.",
            "base": 250.0,
            "cuota": 52.5,
            "total": 302.5,
            "vencimiento": "03\/12\/2026",
            "estado": "pendiente",
            "localizador": "LOCGENV1:O:NdjdSHy1PAqwlw\/WxTadoIW1lNqFECdDUIGVNyLwO2eDPnFUDys2wo6vFeQGNwGM5pf27bTi1w1Vx4mLbSVJg=",
            "fecha_descarga": "04\/11\/2026 10:05:12"
        },
        {
            "id": 58,
            "factura": "2026\/0098",
            "fecha_factura": "05\/11\/2026",
            "tipo_factura": "380",
            "copia": false,
            "nif_emisor": "A48000016",
            "nombre_emisor": "Suministros del Norte S.A.",
            "base": 1200.0,
            "cuota": 252.0,
            "total": 1452.0,
            "vencimiento": "05\/01\/2027",
            "estado": "pagada",
            "localizador": "LOCGENV1:O:tqkR9VoBCDcZ6NEtjWWCxChWU4M5+dYPjdhQzpsJwP2yfWATu9pJ+PCR+6HUgFJxUiVfBKSPtFzbSg=",
            "fecha_descarga": "06\/11\/2026 09:15:40"
        }
    ],
    "msg": null
}
```

Response sin autorización para consultar:

```json
HTTP/1.1 200 OK
{
    "result": "OK",
    "return": [],
    "msg": "SPFE: not authorized to query received invoices (10\/11\/2026 09:40). Upload the company certificate or grant power of attorney to Berein at the AEAT"
}
```

Fuente: https://ticketbaiws.eus/es/spfe-recibidas-get/
