.NET / C#

Integra InvoCash con .NET / C#

Automatiza la facturación electrónica VeriFactu desde ASP.NET Core, WinForms o cualquier proyecto C#. Guía paso a paso con ejemplos reales.

.NET / C#

Facturación VeriFactu en el ecosistema Microsoft

La API de InvoCash se integra de forma natural con el HttpClient de .NET y el System.Text.Json nativo, sin dependencias externas. Compatible con .NET 6, 7 y 8.

Ideal para ERPs en ASP.NET, servicios de Windows, aplicaciones de escritorio o Azure Functions que necesiten emitir facturas electrónicas homologadas con VeriFactu de forma automática.

COMPATIBILIDAD
.NET
6.07.08.09.0
Frameworks
ASP.NET CoreWorker ServicesAzure FunctionsWinForms
HTTP
HttpClientSystem.Text.Jsonasync/await
  • VeriFactu incluido sin integración extra.
  • HttpClient y Json.NET nativos, sin dependencias.
  • Autenticación JWT o API Key.
  • Sandbox gratuito para pruebas.
Por qué .NET + InvoCash

Lo que consigues al integrar

Sin dependencias extra

HttpClient y System.Text.Json vienen nativos. Importa y empieza en segundos.

BackgroundService ready

Con Worker Services, integra facturación de fondo sin bloquear tu aplicación.

VeriFactu delegado

InvoCash gestiona firma, hashes y envío a la AEAT. Tu código solo crea facturas.

Escala con tu volumen

Desde aplicaciones pequeñas hasta ERPs empresariales con miles de facturas diarias.

Antes de empezar

Requisitos previos

Integración

Guía de integración paso a paso

1

Autenticación

Obtén el Bearer token con POST /api/auth/login y configura el HttpClient para todas las peticiones.

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

const string BASE_URL = "https://{su-tenant}.invo.cash/api";
var client = new HttpClient();

// Obtener token JWT
var auth = await client.PostAsJsonAsync($"{BASE_URL}/auth/login", new {
    email    = "usuario@empresa.com",
    password = "tu_contraseña"
});
var authData = await auth.Content.ReadFromJsonAsync<JsonElement>();
var token = authData.GetProperty("access_token").GetString();

client.DefaultRequestHeaders.Authorization =
    new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);

// Alternativa: API Key
client.DefaultRequestHeaders.Add("X-API-Key", "tu_api_key");
2

Crear una factura

Calcula tax_base, tax_amount y total antes de enviar — la API no los calcula automáticamente.

decimal precio    = 1000.00m;
int     iva       = 21;
decimal taxBase   = precio;
decimal taxAmount = Math.Round(taxBase * iva / 100, 2);

var resp = await client.PostAsJsonAsync($"{BASE_URL}/invoices", new {
    customer_id                = 123,
    verifactu_issuer_territory = "MAINLAND",
    simplified                 = false,
    lines = new[] { new {
        description             = "Servicio de consultoría .NET",
        quantity                = 1,
        unit_price              = precio,
        tax_base                = taxBase,
        tax_pctge               = iva,
        tax_amount              = taxAmount,
        tax_withholding_pctge   = 0,
        tax_withholding_amount  = 0,
        tax_type                = "IVA",
        clave_regimen           = "01",
        qualification_operation = "S1",
        exempt_operation        = (string?)null,
        total                   = taxBase,
    }},
    total = taxBase + taxAmount,
});
3

Consultar estado VeriFactu

var vf = await client.GetFromJsonAsync<JsonElement>(
    $"{BASE_URL}/invoice/{invoiceId}/verifactu");
Console.WriteLine(vf.GetProperty("verifactu_status"));
// "validated" | "pending" | "error"
4

Descargar PDF y enviar email

// Descargar PDF
var pdf = await client.GetByteArrayAsync($"{BASE_URL}/invoice/{invoiceId}/downloadPdf");
await File.WriteAllBytesAsync("factura.pdf", pdf);

// Enviar email al cliente
await client.PostAsync(
    $"{BASE_URL}/invoice/{invoiceId}/communicate/email",
    new StringContent("{}", System.Text.Encoding.UTF8, "application/json"));

VeriFactu incluido automáticamente: todas las facturas creadas mediante la API de InvoCash se procesan con el sistema VeriFactu de la AEAT. Cumplimiento de la Ley Antifraude y el RD 1007/2023 sin ningún desarrollo adicional por tu parte.

¿Dudas durante la integración?
Nuestro equipo técnico te da respuesta ágil dentro del horario laboral. No hace falta que seas cliente.

Hablar con el equipo técnico
Referencia rápida

Endpoints principales de la API

Los endpoints que usarás con más frecuencia en tu integración. La documentación completa está disponible dentro de la plataforma.

MétodoEndpointDescripción
POST/api/auth/loginAutenticar y obtener token JWT
GET/api/customersListar clientes
POST/api/invoicesCrear una o varias facturas
GET/api/invoicesListar facturas (paginado, con filtros)
GET/api/invoice/{id}Detalle de una factura
PUT/api/invoice/{id}Actualizar factura (solo si no está validada)
GET/api/invoice/{id}/verifactuEstado de validación VeriFactu en la AEAT
GET/api/invoice/{id}/downloadPdfDescargar el PDF de la factura
POST/api/invoice/{id}/communicate/emailEnviar la factura por email al cliente
POST/api/invoice/{id}/validateEnviar manualmente a VeriFactu
Caso de uso

Ejemplo real: ERP en ASP.NET Core con facturación automática

Pedido cobrado
BackgroundService
API InvoCash
Factura VeriFactu
Azure Blob Storage

Un ERP desarrollado en ASP.NET Core genera automáticamente la factura cuando un pedido pasa a estado «cobrado». Un BackgroundService de .NET procesa la cola, llama a la API de InvoCash, valida con VeriFactu y archiva el PDF en Azure Blob Storage, sin intervención del equipo de administración.

Contacto

¿Necesitas ayuda con la integración?

Nuestro equipo técnico te acompaña en todo el proceso. Sin compromiso.