Factuarea API

Factures simplificades o completes

F1, F2 i F3 — quan és legal una factura simplificada, el topall de 3.000 € que sí que s'aplica de debò, i la substitució en una sola crida que converteix un lot de tiquets en una factura completa.

La llei espanyola distingeix la factura completa (F1), que identifica el destinatari i li permet deduir l'IVA, de la factura simplificada (F2), el tiquet que el comerç lliura al taulell. Quan un client necessita després un document deduïble per un lot de tiquets, la llei preveu un tercer tipus: la factura substitutiva (F3), que agrega diverses simplificades.

Quan aplica

La factura simplificada està disponible en operacions de tipus minorista per sota d'un import legal. Mai no ho està en els casos de baix, i la comprovació d'admissibilitat els avalua en aquest ordre exacte — guanya el primer que casa:

Condició que la bloquejareason_code
Operació intracomunitàriaintra_community
Inversió del subjecte passiureverse_charge
Destinatari fora d'Espanya (exportació)export_operation
El client necessita una factura deduïbleclient_deduction_required
Total per damunt del topall legal absolutover_absolute_limit

El topall que el programari sí que aplica és de 3.000 € amb l'IVA inclòs — el màxim que pot assolir qualsevol factura simplificada segons el RD 1619/2012 art. 4, sigui quin sigui el sector. Superar-lo respon 422 amb el codi de motiu over_absolute_limit (BR-INV-009).

El llindar general de 400 € del mateix article no s'aplica. Factuarea no demana a l'empresa que declari el seu sector econòmic, així que no pot saber si li correspon el límit elevat. Mantenir-se per sota de 400 € quan el teu sector no dona dret a la xifra més alta és responsabilitat fiscal de l'emissor, no pas una cosa que l'API t'hagi d'impedir.

El catàleg d'impostos no canvia entre els dos tipus. A una F1 i a una F2 els apliquen els mateixos tipus d'IVA; el que difereix és el contingut obligatori del document, el topall d'import i la identificació del destinatari (BR-TAX-011).

Què envia l'API

Pregunta abans de decidir

POST /v1/invoices/simplified-eligibility, scope invoices:read. Pensat per a fluxos de caixa i de punt de venda que han de triar el tipus de document abans de crear res.

curl -X POST https://api.factuarea.com/v1/invoices/simplified-eligibility \
  -H "Authorization: Bearer fact_live_3pXnR2VbY7TcA9eFmN5z8KqW" \
  -H "Content-Type: application/json" \
  -d '{"total": 3400, "client_country": "ES"}'
{
  "data": {
    "can_be_simplified": false,
    "must_be_complete": true,
    "reason_code": "over_absolute_limit",
    "reason_message": "El importe 3.400,00 EUR supera el límite de 3.000,00 EUR para una factura simplificada.",
    "sector_limit": 3000
  }
}

total és obligatori i és l'import amb l'IVA inclòs. client_id, client_country, is_intra_community, is_reverse_charge i client_requires_deductible són entrades opcionals a les condicions de bloqueig de dalt.

Crear una factura simplificada no és una operació de la v1

POST /v1/invoices no té camp type ni cap bandera de simplificada, i client_id és obligatori. L'API pública no pot emetre una F2. Tota factura creada per la v1 és una factura completa.

És una frontera real, no una omissió que puguis esquivar amb un truc de payload. Si el teu punt de venda emet factures simplificades, es creen pel tauler o per la superfície de punt de venda; el que la v1 et dona sobre elles és la comprovació d'admissibilitat, la lectura i la substitució de baix.

La conseqüència per al tractament d'errors: el 422 per una línia de suplert dins d'una factura simplificada és inabastable des de POST /v1/invoices i només s'assoleix per l'endpoint de rectificativa sobre un original simplificat — vegeu Suplerts.

Substituir factures simplificades, en una sola crida

POST /v1/invoices/substitute-simplified, scope invoices:write. Passes el destinatari i la llista de factures simplificades que vols agregar; reps una F3 completa, ja emesa, amb número definitiu de sèrie:

curl -X POST https://api.factuarea.com/v1/invoices/substitute-simplified \
  -H "Authorization: Bearer fact_live_3pXnR2VbY7TcA9eFmN5z8KqW" \
  -H "Content-Type: application/json" \
  -d '{
        "client_id": "0197a2a8-4cf0-7a31-9a5e-3f2b8c1d6e42",
        "simplified_invoice_ids": [
          "0197b1c2-3d4e-7f50-8a61-b2c3d4e5f601",
          "0197b1c2-3d4e-7f50-8a61-b2c3d4e5f602"
        ],
        "notes": "Consumos de junio"
      }'

Cada factura simplificada de la llista es valida (BR-INV-015): la llista no pot estar buida ni tenir duplicats, cada factura ha de pertànyer a la teva empresa, cadascuna ha de ser realment una F2, cap no pot estar anul·lada ni cancel·lada, i cap no pot tenir ja una substitutiva. Quan falla, el 422 anomena el número de la factura que ho provoca.

La F3 neix emesa, i les seves línies són agregats: una línia per factura substituïda, descrita com la substitució d'aquest número de factura, amb quantitat un i el total brut original com a preu unitari, i sense impost propi — l'IVA ja es va repercutir a la factura simplificada.

La substitució no anul·la els originals. Cada F2 conserva el seu estat fiscal i simplement deixa constància que ha estat substituïda; l'objecte factura ho exposa com a substituted_by. Una F3 que es pot rectificar, com qualsevol factura completa —els codis R1R4 valen igual per a una F1 que per a una F3, vegeu Factures rectificatives—. El que una F3 no pot ser és substituïda: només una F2 pot ser objecte d'una substitució, i només una F3 pot portar factures substituïdes (BR-INV-016).

Què surt al PDF

La diferència visible és el bloc de destinatari. Una factura completa imprimeix el nom, el NIF i l'adreça del destinatari, congelats en el moment d'emetre; una de simplificada pot legítimament no tenir-ne cap, i imprimeix al seu lloc el marcador de consumidor final (BR-INV-024).

La F3 s'imprimeix com una factura completa ordinària — un bloc de destinatari complet i una línia per cada tiquet substituït, anomenant cada número de factura substituïda.

Què arriba a l'AEAT

El tipus de factura viatja com el TipoFactura de l'AEAT al registre VeriFactu i és visible a l'objecte registre com a invoice_type: F1, F2, F3, o R5 per a una rectificativa d'una simplificada. El registre assenyala a més si substitueix factures simplificades (BR-VFC-014).

El tipus també té conseqüències a les declaracions periòdiques (BR-TXR-004):

  • Una F3 sense NIF de destinatari aixeca un avís no bloquejant a la declaració trimestral d'IVA: és inusual, però legítim si el tiquet original tampoc no en tenia.
  • Una F2 amb client registrat però sense NIF aixeca també un avís.
  • Una F2 sense cap NIF queda exclosa de la declaració anual d'operacions amb terceres persones (Modelo 347) per norma de l'AEAT, i l'exclusió s'informa com a avís.

Cap d'ells no bloqueja la generació. L'informe es produeix i els avisos es retornen al seu costat, com a llista buida quan no n'hi ha cap. Bloquejar seria un fals positiu freqüent.

Traçabilitat

Derivat de les regles de domini del backend de Factuarea:

  • BR-INV-009 — el topall aplicat de 3.000 €, el llindar no aplicat de 400 € i les operacions que descarten la factura simplificada.
  • BR-INV-015 — substitució de factures simplificades per una F3, les seves validacions i les seves línies agregades.
  • BR-INV-016 — només una F3 porta factures substituïdes, i mai una llista buida.
  • BR-INV-024 — el snapshot immutable del destinatari, i la seva absència en un tiquet de consumidor final.
  • BR-TAX-011 — el catàleg d'impostos és idèntic per als dos tipus; el límit pertany a la facturació, no al catàleg.
  • BR-VFC-014 — els tipus de factura de l'AEAT i com es resol el tipus.
  • BR-TXR-004 — avisos no bloquejants de qualitat fiscal per a F2 i F3 sense NIF.

Els codis de motiu del 422 citats a Quan aplica vénen del servei de domini d'admissibilitat que materialitza BR-INV-009.

En aquesta pàgina