Automatiza la facturación electrónica VeriFactu desde ASP.NET Core, WinForms o cualquier proyecto C#. Guía paso a paso con ejemplos reales.
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.
HttpClient y System.Text.Json vienen nativos. Importa y empieza en segundos.
Con Worker Services, integra facturación de fondo sin bloquear tu aplicación.
InvoCash gestiona firma, hashes y envío a la AEAT. Tu código solo crea facturas.
Desde aplicaciones pequeñas hasta ERPs empresariales con miles de facturas diarias.
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");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,
});var vf = await client.GetFromJsonAsync<JsonElement>(
$"{BASE_URL}/invoice/{invoiceId}/verifactu");
Console.WriteLine(vf.GetProperty("verifactu_status"));
// "validated" | "pending" | "error"// 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.
Los endpoints que usarás con más frecuencia en tu integración. La documentación completa está disponible dentro de la plataforma.
| Método | Endpoint | Descripción |
|---|---|---|
| POST | /api/auth/login | Autenticar y obtener token JWT |
| GET | /api/customers | Listar clientes |
| POST | /api/invoices | Crear una o varias facturas |
| GET | /api/invoices | Listar 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}/verifactu | Estado de validación VeriFactu en la AEAT |
| GET | /api/invoice/{id}/downloadPdf | Descargar el PDF de la factura |
| POST | /api/invoice/{id}/communicate/email | Enviar la factura por email al cliente |
| POST | /api/invoice/{id}/validate | Enviar manualmente a VeriFactu |
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.
Nuestro equipo técnico te acompaña en todo el proceso. Sin compromiso.