Clientes y consulta al registro de ANAF (Rumanía)

Un alta o actualización deduplicada por tax_id y una consulta al registro de ANAF para empresas rumanas, para que la e-Factura no sea rechazada.

Un alta o actualización deduplicada por tax_id y una consulta al registro de ANAF para empresas rumanas, para que la e-Factura no sea rechazada.

← Volver a la documentación de la API

Tu primera factura en 6 pasos

  1. POST /v1/clients crea o actualiza un cliente, deduplicado por tax_id y, en su defecto, por el nombre normalizado.
  2. GET /v1/clients lista los clientes con limit, offset y búsqueda de texto libre q.
  3. GET /v1/lookup/company/{tax_id} valida un CUI rumano contra el registro de ANAF y devuelve los datos oficiales.
  4. Rellena buyer con el resultado de la consulta para que la e-Factura no se rechace por un nombre o una dirección desactualizados.

Todos los endpoints

MétodoEndpointScopeIdempotency-KeyPeticiones / minuto
GET/clients
Listar clientes
clients:read—120
POST/clients
Crear o actualizar un cliente
clients:write—30
GET/lookup/company/{tax_id}
Validar un CUI rumano en el registro de ANAF
clients:read—120

Qué es la API de 4invoices

bash
# Deduplicado por tax_id y, si falta, por un nombre normalizado:
# volver a enviar el mismo cliente lo ACTUALIZA en lugar de crear un duplicado.
curl -sS -X POST https://api.4invoices.net/v1/clients \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Exemplu Comert SRL",
    "tax_id": "RO12345678",
    "email": "[email protected]",
    "country": "RO",
    "county": "Cluj",
    "city": "Cluj-Napoca",
    "address": "Str. Fabricii 12",
    "iban": "RO49AAAA1B31007593840000"
  }'
bash
curl -sS https://api.4invoices.net/v1/lookup/company/RO12345678 \
  -H "Authorization: Bearer $ACCESS_TOKEN"

# Datos oficiales del registro de ANAF (Rumanía): úsalos para rellenar "buyer" de antemano, para que
# la e-Factura no sea rechazada por un nombre o una dirección desactualizados.

https://api.4invoices.net/v1 · https://api.4invoices.net/v1/openapi.json

Errores frecuentes

  • No necesitas un cliente guardado para emitir: el objeto buyer se puede enviar en línea en POST /invoices.
  • Para compradores rumanos, county debe ser el distrito real; para Bucarest, indica el sector en city.
  • tax_id se acepta con o sin el prefijo de país (RO12345678 o 12345678).
  • Reenviar el mismo cliente actualiza el registro, así que una importación repetida no crea duplicados.

Preguntas y respuestas para desarrolladores

¿Qué scope necesita la consulta al registro rumano de ANAF?

clients:read. Escribir clientes requiere clients:write.

¿Puedo importar miles de clientes desde un sistema heredado?

Sí, pero respeta el cupo de 30 escrituras por minuto. Importa por lotes, con backoff ante un 429.

¿Y si el CUI no está en el registro?

La consulta devuelve 404 not_found. Puedes emitir igualmente con tus propios datos, pero te arriesgas a un rechazo al presentarla (CIUS-RO, en Rumanía).