Integrar VeriFactu en .NET y C#

· Equipo Factuneo

Emite facturas VeriFactu desde .NET con HttpClient: alta del emisor, emisión con idempotencia y estado por webhook. Ejemplo listo para tu API o servicio en C#.

Integra VeriFactu en tu aplicación .NET / C# con HttpClient. La API resuelve la huella, el XML, el QR y el envío a la AEAT; tú haces una petición HTTP.

1. API key

Guárdala fuera del código (variables de entorno o un appsettings seguro): FACTUNEO_API_KEY.

2. Cliente y alta del emisor

using System.Net.Http;
using System.Net.Http.Json;

var http = new HttpClient { BaseAddress = new Uri("https://factuneo.es/api/v1/") };
http.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("FACTUNEO_API_KEY"));

await http.PostAsJsonAsync("emisores", new {
    nif = "B12345678",
    nombreRazon = "Mi Empresa SL",
    certMode = "PROPIO"
});

3. Emitir factura

var req = new HttpRequestMessage(HttpMethod.Post, "invoices") {
    Content = JsonContent.Create(new {
        emisorNif = "B12345678",
        numeroSerie = "FAC-2026-0001",
        fechaExpedicion = "2026-06-08",
        tipoFactura = "F1",
        nombreRazonEmisor = "Mi Empresa SL",
        descripcionOperacion = "Servicios",
        baseImponible = 100.00,
        cuotaIva = 21.00,
        importeTotal = 121.00,
        destinatarios = new[] { new { nombreRazon = "Cliente SA", nif = "A28000024" } },
        desglose = new[] { new {
            claveRegimen = "01",
            calificacionOperacion = "S1",
            tipoImpositivo = 21,
            baseImponible = 100.00,
            cuotaRepercutida = 21.00
        } }
    })
};
req.Headers.Add("Idempotency-Key", "FAC-2026-0001");
var res = await http.SendAsync(req);
var factura = await res.Content.ReadFromJsonAsync<System.Text.Json.JsonElement>();
// factura.GetProperty("huella"), ("qr"), ("estado")

La cabecera Idempotency-Key evita duplicados si reintentas la petición.

4. Webhook de estado

Expón un endpoint (Minimal API o un controller) que reciba el POST de Factuneo con el estado del envío a la AEAT, verifica su firma HMAC-SHA256 con el secreto de tu cuenta y actualiza tu factura.

Referencia completa en la documentación. ¿Comparando opciones? Mira la comparativa.

← Volver al blog · Factuneo